How do I invoke a HTTPS endpoint from WSO2 ESB. My web service deployed on weblogic server is secured with policy
Wssp1.2-2007-Https-UsernameToken-Plain.xml
and the SOAP address specified in WSDL is
https://172.16.91.21:7102/WLSAMLPack_62_64/CustomAsTAPIOnBuildingSAMLService
When I try to create an endpoint from WSO2 esb and access it, it throws following error:
[2012-08-29 11:43:49,769] ERROR – ClientHandler I/O error : General
SSLEngine problem For : 172.16.91.21:7102 For Request : Axis2Request
[Message ID : urn:uuid:59ebea16-dcb0-4b25-8074-b78605e2ff55] [Status
Completed : false] [Status SendingCompleted : true]
javax.net.ssl.SSLHandshakeException: General SSLEngine problem at
com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:938)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:465)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1064)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1036)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:452) at
org.apache.http.impl.nio.reactor.SSLIOSession.doHandshake(SSLIOSession.java:154)
at
org.apache.http.impl.nio.reactor.SSLIOSession.isAppInputReady(SSLIOSession.java:265)
at
org.apache.http.impl.nio.SSLClientIOEventDispatch.inputReady(SSLClientIOEventDispatch.java:229)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:158)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:340)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:318)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)
at java.lang.Thread.run(Thread.java:619) Caused by:
javax.net.ssl.SSLHandshakeException: General SSLEngine problem at
com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1427)
at
com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:189)
at
com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1035)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124)
at
com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Handshaker.java:458)
at java.security.AccessController.doPrivileged(Native Method) at
com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Handshaker.java:875)
at
org.apache.http.impl.nio.reactor.SSLIOSession.doHandshake(SSLIOSession.java:171)
… 9 more Caused by: sun.security.validator.ValidatorException: PKIX
path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target at
sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
at
sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
at sun.security.validator.Validator.validate(Validator.java:218) at
com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at
com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at
com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)
… 15 more Caused by:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target at
sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at
sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
… 21 more
Thanks.
Abdul
Updated the solution at the following link. Invoking HTTPS Secured Endpoints using wso2 esb
Hope this helps.
Thanks,
Abdul.