如何将带有自定义消息的 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 方法的消息。
我在 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 方法的消息。