Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Spring集成中记录收到的SOAP消息_Soap_Spring Integration - Fatal编程技术网

如何在Spring集成中记录收到的SOAP消息

如何在Spring集成中记录收到的SOAP消息,soap,spring-integration,Soap,Spring Integration,我已配置基于Web服务的入站消息传递网关。我想记录传入的SOAP消息(信封和信封内的所有消息)。最好的方法是什么 我曾尝试使用带有日志通道适配器的有线抽头,但不知道一个好的表达式值来获取实际的SOAP XML。如果入站网关配置为不提取有效负载,我将SaajSoapMessage视为有效负载,否则将DOMSource视为有效负载。是否有一个表达式将SaajSoapMessage作为XML字符串获取 下面是我的配置,通过它我可以看到SaajSoapMessage的toString() <int

我已配置基于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"/>

Spring集成位于SpringWeb服务之上。SWS有一些拦截器可以记录有效载荷和/或封套


SpringWeb服务提供了您可以使用的拦截器

如果使用封送拆收器和解封送拆收器,则两者都有侦听器,可以在执行封送/解封送之前和之后执行某些操作

如果需要捕获在ws-inbound gateway之前或之后添加到消息中的信息,可以使用服务激活器

如果您想确保记录任何异常,那么请考虑段网关和消息流中的服务激活器。