Spring Integration Web Service日志SOAP请求消息(即使soap消息不正确,也是如此)

时间:2017-03-09 11:18:55

标签: spring web-services spring-integration

你能否告诉我记录SOAP消息的方法,即使消息格式不正确?

<sws:interceptors>
    <bean class="com.capgemini.manulife.integration.interceptor.LogInterceptor" />
</sws:interceptors>

<!-- inbound -->
<ws:inbound-gateway id="cas-inbound-gateway" request-channel="casRequestChannel" reply-channel="casResponseChannel" 
        marshaller="casMarshaller"        unmarshaller="casMarshaller"  />
<int:channel id="casRequestChannel">
     <int:interceptors>
        <int:wire-tap channel="SOAPLogChannel"/>
    </int:interceptors>
</int:channel>
<int:channel id="SOAPLogChannel" /> 
<int:logging-channel-adapter id="logger" expression="payload" level="INFO" channel="SOAPLogChannel"/>

如您所见,我已经使用了PayloadLoggingInterceptor(LogInterceptor扩展了PayloadLoggingInterceptor),但它没有经过PayloadLoggingInterceptor

谢谢你,最诚挚的问候,

2 个答案:

答案 0 :(得分:0)

它不是Spring Integration问题,而是直接涉及SOAP。

因此,如果您的XML格式不正确,除非在解组之前手动检查,否则您无法选择。

因此,您必须依靠simple <ws:inbound-gateway>执行<int-xml:validating-filter>(或其他一些检查),然后才能执行<int-xml:unmarshalling-transformer>

答案 1 :(得分:0)

是的,我们可以使用FilterRegistrationBean ^^

将Filter添加到Spring Web Service