我正在尝试调用一个Web服务,其中WSDL包含一个用于签名和加密请求和响应的策略。我在Spring上下文文件中使用Apache CXF和客户端定义如下。 Apache CXF(2.6.6)似乎忽略了WSDL中的安全策略,并且不对请求进行签名/加密。我有完整的捆绑CXF,其中应包括安全模块。有什么想法吗?
<jaxws:client id="commercialStatusClient"
name="{http://tempuri.org/}CommercialStatus"
serviceClass="blah.client.status.ICommercialStatus"
address="http://blah.co.uk/CommercialStatus.svc"
depends-on="keystoreProperties"
wsdlLocation="http://blah.co.uk/CommercialStatus.svc?wsdl">
<jaxws:properties>
<entry key="ws-security.signature.properties" value-ref="keystoreProperties"/>
<entry key="ws-security.signature.username" value="clientalias"/>
<entry key="ws-security.encryption.properties" value-ref="keystoreProperties"/>
<entry key="ws-security.encryption.username" value="serveralias"/>
<entry key="ws-security.callback-handler" value-ref="keystorePasswordCallback"/>
</jaxws:properties>
</jaxws:client>