如何将带有自定义消息的 soap 请求和响应记录到 Spring 引导文件中?

How to log soap request and response with custom messages to file in Spring Boot?

我在 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

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