Dear readers
I have a small problem configuring the CXF transport in Mule 2.2 to call a WS-method on service exposed, using HTTPS/SSL. Calling the same method using plain HTTP works fine. I’ve searched a lot on this issue and found among others the following link:
http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF
which is helpful but there is still a few things that I don’t fully understand:
The CXF endpoint is configured like: , i.e. it’s in the cxf-namespace. Does the cxf-namespace have any relation to the https-namespace for configuring the as described in the link?
What’s even more confusing is that the Mule stuff is something I’ve taken over from a previous developer and it’s is supposedly working over SSL as-is but in the Mule config files I cannot find any trace of an https:connector configuration. From the info in the link I got the impression that it’s mandatory, at least the ”server key-store” and the “trust store”, like:
<https:connector name="myHttpsConnector"> <https:tls-key-store path="serverKeystore" keyPassword="mulepassword" storePassword="mulepassword"/> <https:tls-server path="trustStore" storePassword="mulepassword"/> </https:connector>
What I do get in the Mule log when trying to connect to the HTTPS-enabled WS is as below and it’s clearly related to the SSL key but I miss the last piece to get it all to fall into place. Any help and comments on this matter would be greatly appriciated.
/Ola
********************************************************************************
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)
...
..