J'ai un petit problème de configuration du transport CXF dans Mule 2.2 pour appeler une méthode WS sur le service exposé, en utilisant HTTPS/SSL. Appeler la même méthode en utilisant HTTP simple fonctionne très bien. J'ai cherché beaucoup sur cette question et trouvé entre autres le lien suivant:Problème avec Mule cxf: point de terminaison sortant (client) et HTTPS/SSL
http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF
qui est utile, mais il y a encore quelques petites choses que je ne comprends pas bien:
Le point de terminaison CXF est configuré comme:, c'est-à-dire qu'il se trouve dans l'espace de noms cxf. Est-ce que l'espace de noms cxf a une relation avec l'espace de noms https pour configurer le comme décrit dans le lien? Ce qui est encore plus déroutant, c'est que les choses Mule sont quelque chose que j'ai pris en charge d'un développeur précédent et qu'il fonctionne sur SSL tel quel, mais dans les fichiers de configuration Mule, je ne trouve aucune trace d'un https: configuration du connecteur. De l'information dans le lien que j'ai eu l'impression qu'il est obligatoire, au moins le « serveur de stockage de clés » et le « magasin de confiance », comme:
<https:connector name="myHttpsConnector"> <https:tls-key-store path="serverKeystore" keyPassword="mulepassword" storePassword="mulepassword"/> <https:tls-server path="trustStore" storePassword="mulepassword"/> </https:connector>
Ce que je ne dans le journal Mule lorsque vous essayez de vous connecter au WS activé HTTPS est comme ci-dessous et il est clairement lié à la clé SSL, mais la dernière pièce me manque pour tout mettre en place. Toute aide et commentaires à ce sujet seraient grandement appréciés.
/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)
...
..