在Mule(CXF)中使用https/ssl web服务
我在MULE 3.3.0 CE中通过https/ssl使用.NET web服务时遇到了这个问题。我希望有人有一个好主意来解决这个问题。 使用CXF库2.5.1和JRE 7 Mule使用的相同工具,这在Mule的外部工作得很好。然后,我假设Mule也使用jre密钥存储,我在其中安装了信任证书 我已经用wsdl2java生成了代理类。 该服务使用Web服务安全UsernameToken,配置文件1.1。服务和服务器不在我的控制范围内这是一项公共服务 我知道我不使用mule出站传输连接到服务。我只是尝试从java类内部创建和使用服务。已经尝试过其他骡子配置,如,但没有运气 这是我的mule配置:在Mule(CXF)中使用https/ssl web服务,ssl,https,cxf,mule,Ssl,Https,Cxf,Mule,我在MULE 3.3.0 CE中通过https/ssl使用.NET web服务时遇到了这个问题。我希望有人有一个好主意来解决这个问题。 使用CXF库2.5.1和JRE 7 Mule使用的相同工具,这在Mule的外部工作得很好。然后,我假设Mule也使用jre密钥存储,我在其中安装了信任证书 我已经用wsdl2java生成了代理类。 该服务使用Web服务安全UsernameToken,配置文件1.1。服务和服务器不在我的控制范围内这是一项公共服务 我知道我不使用mule出站传输连接到服务。我只是尝
<flow name="flow1" >
<http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:8080/server" doc:name="HTTP endpoint"/>
<jersey:resources doc:name="ServerResources RESTful service">
<component class="my.code.ServerResourceImpl"/>
</jersey:resources>
</flow>
Innside ServerResourceImpl类I执行以下操作:
service = new xWebService();
port = service.getBasicHttpBindingBalanseWebService();
Map<String, Object> reqContext = ((BindingProvider)port).getRequestContext();
reqContext.put("ws-security.username", "username");
reqContext.put("ws-security.password", "password");
String s = port.test();
我可以成功创建服务,但调用测试方法失败,出现以下错误:
javax.xml.ws.soap.SOAPFaultException:验证消息安全性时出错
非常感谢任何有用的提示或想法。谢谢为什么不使用Mule来执行呼叫?另外,您在哪里/如何指示Mule加载密钥库?原因是我比Mule更了解Java。我曾尝试让Mule执行呼叫,但这带来了新问题。我不会让Mule加载任何密钥库。我认为Mule在没有在Mule中指定的情况下使用了JRE中的密钥库。但这可能是非常错误的。感谢任何用于密钥库加载的mule配置示例。如果您使用mule HTTPS,那么您将如何配置密钥库: