2015-04-23 72 views
0

我有一個http適配器,它通過HTTPS從網站檢索XML文件。 SSL證書是真實有效的證書,不是自簽名證書。它曾經很好,工作了一年多。IBM Worklight 6.2.0.01 HTTP適配器無法通過HTTPS從網站讀取xml

我最近升級到Worklight 6.2.0.01.20150129-1911並且適配器現在失敗。

從工作燈服務器的錯誤是如下:

FWLSE0101E: Caused by: [project MobileApp5062]javax.net.ssl.SSLPeerUnverifiedException: peer not authenticatedjava.lang.RuntimeException: Http request failed: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
    at com.worklight.adapters.http.HTTPConnectionManager.execute(HTTPConnectionManager.java:233) 
    at com.worklight.adapters.http.HttpClientContext.doExecute(HttpClientContext.java:185) 
    at com.worklight.adapters.http.HttpClientContext.execute(HttpClientContext.java:169) 
    at com.worklight.adapters.http.HTTP.execRequest(HTTP.java:148) 
    at com.worklight.adapters.http.HTTP.invoke(HTTP.java:137) 
    at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) 
    at com.worklight.integration.model.Procedure.invoke(Procedure.java:166) 
    at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) 
    at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at com.worklight.integration.model.InvocationContext$DirectExecutorService.execute(InvocationContext.java:284) 
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) 
    at com.worklight.integration.model.InvocationContext.submit(InvocationContext.java:138) 
    at com.worklight.integration.model.InvocationContextManager.submitInvocation(InvocationContextManager.java:58) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedure(DataAccessServiceImpl.java:522) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.access$100(DataAccessServiceImpl.java:61) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl$3.execute(DataAccessServiceImpl.java:417) 
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:414) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:481) 
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedureWithEnclosingProcedureProperties(DataAccessServiceImpl.java:465) 
    at com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.invokeDynamicProcedureWithEnclosingProcedureProperties(JavaScriptIntegrationLibraryImplementation.java:142) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) 
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) 
    at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) 
    at org.mozilla.javascript.gen._integration_js_12._c_anonymous_10(/integration.js:95) 
    at org.mozilla.javascript.gen._integration_js_12.call(/integration.js) 
    at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) 
    at org.mozilla.javascript.gen.RateAdapter_impl_js_20._c_getRateData_3(RateAdapter-impl.js:66) 
    at org.mozilla.javascript.gen.RateAdapter_impl_js_20.call(RateAdapter-impl.js) 
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) 
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) 
    at org.mozilla.javascript.gen.RateAdapter_impl_js_20.call(RateAdapter-impl.js) 
    at com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:240) 
    at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:214) 
    at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:194) 
    at com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:117) 
    at com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42) 
    at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) 
    at com.worklight.integration.model.Procedure.invoke(Procedure.java:166) 
    at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) 
    at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at com.worklight.server.util.ProjectLocal$1RunnableWrapper.run(ProjectLocal.java:261) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source) 
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) 
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) 
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149) 
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) 
    at com.worklight.adapters.http.HTTPConnectionManager.execute(HTTPConnectionManager.java:231) 
    ... 50 more 

我測試過的適配器兩個不同的主機,具有威瑞信(IIS)頒發的有效SSL證書之一,具有有效的SSL另一臺主機由Starcom(Apache)頒發的證書。兩個失敗。

補充相應地伊詹的評論

  1. ,頒發的發生與工作燈工作室和UAT服務器都運行相同的WL服務器版本的本地開發環境。

  2. Web服務器和worklight服務器位於不同的服務器上。不在同一臺機器上。

+0

兩件事情:1)從IBM Fix Central升級到最新的iFix(2015年4月)。 2)在Worklight Server中驗證您的證書配置:http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.deploy.doc/admin/r_ssl_certificate_keystore_setup.html –

+0

也提及如果這是在遠程服務器上進行測試(如果是這樣,應用程序服務器配置是什麼),或者在Eclipse中的開發服務器中進行測試。 –

回答

0

您不會在問題中解釋服務器端的證書設置如何。可能是因爲證書配置設置爲在365天(1年)後過期。

以下是工作燈6.2用戶文檔主題,你應該通過仔細閱讀,然後看看是否需要調整您的證書設置:

+0

正在測試的證書未過期。我正在研究提供並將在此處進一步更新的鏈接。謝謝Idan。 – deadcode

+0

我並不是說證書已過期,而是設置爲1年。 –

相關問題