У меня небольшая проблема с настройкой транспорта CXF в Mule 2.2 для вызова WS-метода для службы, доступной через HTTPS / SSL.Вызов того же метода с использованием простого HTTP работает нормально.Я много искал по этой проблеме и нашел среди прочего следующую ссылку:
http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF
, что полезно, но есть еще несколько вещей, которые я не до конца понимаю:
Конечная точка CXF настроена следующим образом: т.е. она находится в пространстве имен cxf.Имеет ли пространство имен cxf какое-либо отношение к пространству имен https для настройки, как описано в ссылке?
Что еще более запутанно, так это то, что Mule - это то, что я взял на себяот предыдущего разработчика и предположительно работает над SSL как есть, но в файлах конфигурации Mule я не могу найти никаких следов конфигурации коннектора https :.Из информации в ссылке у меня сложилось впечатление, что это обязательно, по крайней мере, «хранилище ключей сервера» и «хранилище доверия», например:
<https:connector name="myHttpsConnector">
<https:tls-key-store path="serverKeystore" keyPassword="mulepassword"
storePassword="mulepassword"/>
<https:tls-server path="trustStore" storePassword="mulepassword"/>
</https:connector>
Что я делаювойти в журнал Mule при попытке подключения к WS с поддержкой HTTPS, как показано ниже, и он явно связан с ключом 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)
...
..