HTTPS / SSLを使用して、公開されたサービスでWSメソッドを呼び出すようにMule2.2でCXFトランスポートを構成する際に小さな問題が発生しました。プレーンHTTPを使用して同じメソッドを呼び出すと、正常に機能します。私はこの問題についてたくさん検索し、とりわけ次のリンクを見つけました:
http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF
これは役に立ちますが、まだ完全には理解していないことがいくつかあります。
CXFエンドポイントは次のように構成されます。つまり、cxf-namespaceにあります。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)
...
..