我正在使用Mule 3.7 CE。消息流基本上使用CXF代理将基于SOAP的请求通过Https引导到最终客户端。当一个请求被发送到Mule时,它会抛出一个异常,如下所示
org.apache.cxf.phase.PhaseInterceptorChain: Interceptor for {http://tempuri.org/}Service#{http://tempuri.org/}VerifyCompleteRegistration has thrown exception, unwinding now org.apache.cxf.ws.policy.PolicyException: These policy alternatives can not be satisfied: {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportBinding: TLS is not enabled {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}HttpsToken {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportToken at org.apache.cxf.ws.policy.AssertionInfoMap.checkEffectivePolicy(AssertionInfoMap.java:179) ~[cxf-rt-ws-policy-2.7.15.jar:2.7.15] at org.apache.cxf.ws.policy.PolicyVerificationInInterceptor.handle(PolicyVerificationInInterceptor.java:101) ~[cxf-rt-ws-policy-2.7.15.jar:2.7.15] at org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44) ~[cxf-rt-ws-policy-2.7.15.jar:2.7.15]
仅提及TLS已启用,配置设置为使用https,并且所有与TLS(密钥库和信任库)相关的配置也在Mule ESB上。以下是WSDL的安全策略片段。
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="false"/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>
</wsp:Policy>
</sp:TransportBinding>
我不确定需要更改什么才能使其正常工作。任何帮助将非常感激。