ssl - IBM Worklight 6.2.0.01 HTTP Adapter failed to read xml from web site with HTTPS -
i have http adapter retrieves xml file website through https. ssl certificate real , valid certificate, not self-signed one. used fine , working on year.
i upgraded worklight 6.2.0.01.20150129-1911 , adapter failed.
the error worklight server below:
fwlse0101e: caused by: [project mobileapp5062]javax.net.ssl.sslpeerunverifiedexception: peer not authenticatedjava.lang.runtimeexception: http request failed: javax.net.ssl.sslpeerunverifiedexception: peer not authenticated @ com.worklight.adapters.http.httpconnectionmanager.execute(httpconnectionmanager.java:233) @ com.worklight.adapters.http.httpclientcontext.doexecute(httpclientcontext.java:185) @ com.worklight.adapters.http.httpclientcontext.execute(httpclientcontext.java:169) @ com.worklight.adapters.http.http.execrequest(http.java:148) @ com.worklight.adapters.http.http.invoke(http.java:137) @ com.worklight.integration.model.procedureinvoker.invokeprocedure(procedureinvoker.java:57) @ com.worklight.integration.model.procedure.invoke(procedure.java:166) @ com.worklight.integration.model.invocationcontext.call(invocationcontext.java:169) @ com.worklight.integration.model.invocationcontext.call(invocationcontext.java:38) @ java.util.concurrent.futuretask.run(unknown source) @ com.worklight.integration.model.invocationcontext$directexecutorservice.execute(invocationcontext.java:284) @ java.util.concurrent.abstractexecutorservice.submit(unknown source) @ com.worklight.integration.model.invocationcontext.submit(invocationcontext.java:138) @ com.worklight.integration.model.invocationcontextmanager.submitinvocation(invocationcontextmanager.java:58) @ com.worklight.integration.services.impl.dataaccessserviceimpl.callprocedure(dataaccessserviceimpl.java:522) @ com.worklight.integration.services.impl.dataaccessserviceimpl.access$100(dataaccessserviceimpl.java:61) @ com.worklight.integration.services.impl.dataaccessserviceimpl$3.execute(dataaccessserviceimpl.java:417) @ com.worklight.core.auth.impl.authenticationservicebean.accessresource(authenticationservicebean.java:76) @ com.worklight.integration.services.impl.dataaccessserviceimpl.invokeprocedureinternal(dataaccessserviceimpl.java:414) @ com.worklight.integration.services.impl.dataaccessserviceimpl.invokedynamicprocedure(dataaccessserviceimpl.java:481) @ com.worklight.integration.services.impl.dataaccessserviceimpl.invokedynamicprocedurewithenclosingprocedureproperties(dataaccessserviceimpl.java:465) @ com.worklight.integration.js.javascriptintegrationlibraryimplementation.invokedynamicprocedurewithenclosingprocedureproperties(javascriptintegrationlibraryimplementation.java:142) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ org.mozilla.javascript.memberbox.invoke(memberbox.java:126) @ org.mozilla.javascript.nativejavamethod.call(nativejavamethod.java:225) @ org.mozilla.javascript.optimizer.optruntime.calln(optruntime.java:52) @ org.mozilla.javascript.gen._integration_js_12._c_anonymous_10(/integration.js:95) @ org.mozilla.javascript.gen._integration_js_12.call(/integration.js) @ org.mozilla.javascript.optimizer.optruntime.call1(optruntime.java:32) @ org.mozilla.javascript.gen.rateadapter_impl_js_20._c_getratedata_3(rateadapter-impl.js:66) @ org.mozilla.javascript.gen.rateadapter_impl_js_20.call(rateadapter-impl.js) @ org.mozilla.javascript.contextfactory.dotopcall(contextfactory.java:394) @ org.mozilla.javascript.scriptruntime.dotopcall(scriptruntime.java:3091) @ org.mozilla.javascript.gen.rateadapter_impl_js_20.call(rateadapter-impl.js) @ com.worklight.integration.js.javascriptmanager.callfunction(javascriptmanager.java:240) @ com.worklight.integration.js.javascriptmanager.invokefunction(javascriptmanager.java:214) @ com.worklight.integration.js.javascriptmanager.invokefunction(javascriptmanager.java:194) @ com.worklight.integration.services.impl.adaptermanagerimpl.invokefunction(adaptermanagerimpl.java:117) @ com.worklight.integration.js.javascriptprocedureinvoker.invoke(javascriptprocedureinvoker.java:42) @ com.worklight.integration.model.procedureinvoker.invokeprocedure(procedureinvoker.java:57) @ com.worklight.integration.model.procedure.invoke(procedure.java:166) @ com.worklight.integration.model.invocationcontext.call(invocationcontext.java:169) @ com.worklight.integration.model.invocationcontext.call(invocationcontext.java:38) @ java.util.concurrent.futuretask.run(unknown source) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ com.worklight.server.util.projectlocal$1runnablewrapper.run(projectlocal.java:261) @ java.lang.thread.run(unknown source) caused by: javax.net.ssl.sslpeerunverifiedexception: peer not authenticated @ sun.security.ssl.sslsessionimpl.getpeercertificates(unknown source) @ org.apache.http.conn.ssl.abstractverifier.verify(abstractverifier.java:128) @ org.apache.http.conn.ssl.sslsocketfactory.connectsocket(sslsocketfactory.java:397) @ org.apache.http.impl.conn.defaultclientconnectionoperator.openconnection(defaultclientconnectionoperator.java:148) @ org.apache.http.impl.conn.abstractpoolentry.open(abstractpoolentry.java:149) @ org.apache.http.impl.conn.abstractpooledconnadapter.open(abstractpooledconnadapter.java:121) @ org.apache.http.impl.client.defaultrequestdirector.tryconnect(defaultrequestdirector.java:573) @ org.apache.http.impl.client.defaultrequestdirector.execute(defaultrequestdirector.java:425) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:820) @ com.worklight.adapters.http.httpconnectionmanager.execute(httpconnectionmanager.java:231) ... 50 more
i've tested adapter 2 different hosts, 1 having valid ssl cert issued verisign (iis) , host having valid ssl cert issued starcom (apache). both failed.
supplement accordingly idan's comment
the issued happened on both local development environment worklight studio , uat server, both running same wl server version.
web server , worklight server hosted on different server. not on same machine.
you not explain in question how certificate set-up on server side. certificate configuration set expire after 365 days (1 year).
the following worklight 6.2 user documentation topics should read through thoroughly , see if need adjust certificate set-up:
- ssl configuration
- ssl certificate keystore setup
- configuring ssl between worklight adapters , back-end servers (note example setting validity days)