我在配置 Mule 2.2 中的 CXF 传输以使用 HTTPS/SSL 在暴露的服务上调用 WS 方法时遇到一个小问题。使用纯 HTTP 调用相同的方法可以正常工作。我在这个问题上进行了很多搜索,并发现了以下链接:
http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF
这很有帮助,但仍有一些我不完全理解的事情:
CXF 端点的配置如下: ,即它在 cxf 命名空间中。cxf-namespace 是否与 https-namespace 有任何关系,用于配置链接中描述的?
更令人困惑的是,Mule 的东西是我从以前的开发人员那里接手的,据说它可以按原样在 SSL 上工作,但在 Mule 配置文件中我找不到任何 https:connector 配置的痕迹。从链接中的信息我得到的印象是它是强制性的,至少是“服务器密钥库”和“信任库”,例如:
<https:connector name="myHttpsConnector"> <https:tls-key-store path="serverKeystore" keyPassword="mulepassword" storePassword="mulepassword"/> <https:tls-server path="trustStore" storePassword="mulepassword"/> </https:connector>
当我尝试连接到启用 HTTPS 的 WS 时,我在 Mule 日志中得到的内容如下,它显然与 SSL 密钥有关,但我错过了最后一段以使其全部到位。对此事的任何帮助和评论将不胜感激。
/奥拉
********************************************************************************
Message : Failed to invoke lifecycle phase "initialise" on object:
HttpsConnector{this=a7769e, started=false, initialised=false,
name='connector.https.0', disposed=false, numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[https],
serviceOverrides=null}
Type : org.mule.api.lifecycle.LifecycleException
Code : MULE_ERROR-70228
JavaDoc : http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/lifecycle/LifecycleException.html
********************************************************************************
Exception stack is:
1. The Key password cannot be null (java.lang.IllegalArgumentException)
org.mule.api.security.tls.TlsConfiguration:290 (null)
2. Failed to invoke lifecycle phase "initialise" on object:
HttpsConnector{this=a7769e, started=false, initialised=false,
name='connector.https.0', disposed=false, numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[https],
serviceOverrides=null} (org.mule.api.lifecycle.LifecycleException)
org.mule.lifecycle.DefaultLifecyclePhase:277 (http://www.mulesource.org/docs/site
/current2/apidocs/org/mule/api/lifecycle/LifecycleException.html)
********************************************************************************
Root Exception stack trace:
java.lang.IllegalArgumentException: The Key password cannot be null
at
org.mule.api.security.tls.TlsConfiguration.assertNotNull(TlsConfiguration.java:290)
at org.mule.api.security.tls.TlsConfiguration.validate(TlsConfiguration.java:208)
...
..