我配置了基于 Web 服务的入站消息传递网关。我想记录传入的 SOAP 消息(信封和里面的所有消息)。最好的方法是什么?
我曾尝试使用带有日志记录通道适配器的窃听器,但不知道一个好的表达式值来获取实际的 SOAP XML。如果入站网关配置为不提取有效负载,我会将 SaajSoapMessage 视为有效负载,否则将视为 DOMSource。是否有将 SaajSoapMessage 作为 XML 字符串获取的表达式?
这是我看到 SaajSoapMessage 的 toString() 的配置:
<int:channel id="request">
<int:interceptors>
<int:wire-tap channel="logger"/>
</int:interceptors>
</int:channel>
<int:logging-channel-adapter id="logger" expression="payload" level="DEBUG"/>
<int:channel id="reply"/>
<int-ws:inbound-gateway id="ws-inbound-gateway" request-channel="request" reply-channel="reply"
extract-payload="false"/>