【问题标题】:How to log soap request and response with custom messages to file in Spring Boot?如何使用自定义消息记录肥皂请求和响应以在 Spring Boot 中归档?
【发布时间】:2019-08-21 13:24:51
【问题描述】:

我在 Spring Boot 2.1.7 中创建了 rest 服务作为soap 服务的包装器,我需要将带有日期和自定义消息的soap 请求和响应(也是 rest 请求)记录到文件中。

我尝试从 handleRequest 方法 (System.out.println("message from handleRequest")) 获取一些消息,但在控制台或文件中没有任何消息。如果您对此任务有其他解决方案,请不要犹豫提供。

application.properties

logging.level.org.springframework.web=DEBUG
logging.level.org.springframework.ws.client.MessageTracing.sent=DEBUG
logging.level.org.springframework.ws.server.MessageTracing.sent=DEBUG
logging.level.org.springframework.ws.client.MessageTracing.received=TRACE
logging.level.org.springframework.ws.server.MessageTracing.received=TRACE
logging.file=consumeservice.log
logging.pattern.file=%d{dd.MM HH:mm:ss} - %msg%n
getWebServiceTemplate().setInterceptors(
                new ClientInterceptor[]{new ClientInterceptor() {

                    @Override
                    public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException {
                        System.out.println("message from handleRequest"); // I can not see this message in console or file

                        return true;
                    }

                    @Override
                    public boolean handleResponse(MessageContext messageContext) throws WebServiceClientException {
                        return true;
                    }

                    @Override
                    public boolean handleFault(MessageContext messageContext) throws WebServiceClientException {
                        return true;
                    }

                    @Override
                    public void afterCompletion(MessageContext messageContext, Exception ex) throws WebServiceClientException {
                    }
                }}
        );

日志条目应如下所示:

[dd.MM HH:mm:ss] - Call 1. Request to JSON
[dd.MM HH:mm:ss] - Call 1. Request to SOAP
[dd.MM HH:mm:ss] - Call 1. Response from SOAP
[dd.MM HH:mm:ss] - Call 2. Request to JSON
[dd.MM HH:mm:ss] - Call 2. Request to SOAP
[dd.MM HH:mm:ss] - Call 2. Response from SOAP

您可以查看项目:https://github.com/ismayilibrahimov/calculatorservice

【问题讨论】:

    标签: java spring spring-boot logging soap-client


    【解决方案1】:

    我重新导入了所有 maven 项目,然后“maven clean and install”解决了我的问题。我现在可以在控制台中看到来自 handleRequest 方法的消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 2019-03-26
      相关资源
      最近更新 更多