我正在尝试调用 Web 服务,其中 WSDL 包含对请求和响应进行签名和加密的策略。我正在使用 Apache CXF,客户端在 spring 上下文文件中定义如下。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>