【发布时间】:2016-03-15 21:58:20
【问题描述】:
在 spring-int 4.1 中,我的 header-mapper 工作正常,如下所示:
<int-ws:inbound-gateway id="my-gateway"
request-channel="my-gateway-input"
reply-channel="my-gateway-output"
unmarshaller="jaxb2Marshaller" marshaller="jaxb2Marshaller"
header-mapper="soapHeaderMapper" />
<beans:bean id="soapHeaderMapper" class="org.springframework.integration.ws.DefaultSoapHeaderMapper">
<beans:property name="requestHeaderNames" value="*"/>
</beans:bean>
当我尝试升级到 spring-int 4.2 时,不允许使用 header-mapper。我需要它的原因是因为我需要映射soap安全标头。但我不认为它在没有指定soapHeaderMapper 的情况下被映射。请注意,我确实有以下上游来拦截soap请求,我很确定拦截器没有删除soap标头。如果您需要完整的配置,请告诉我。
<beans:bean id="wss4jSecurityInterceptor" class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor">
<beans:property name="validationActions" value="UsernameToken"/>
<beans:property name="validationCallbackHandler" ref="validationCallbackHandler"></beans:property>
<beans:property name="removeSecurityHeader" value="false"></beans:property>
</beans:bean>
【问题讨论】:
标签: spring-integration spring-ws