2016-01-13 103 views
0

我已經在這個問題上面對了3天。需要幫助。Worklight 6.2:無法使用WL.Client.Connect連接到Worklight App Server

我使用Worklight V6.2爲Android和iOS創建了具有推送通知功能的混合應用程序。在這兩種環境中發現不同的問題。

以下是創建應用程序並將其部署到遠程服務器的步驟。

  1. 創建混合應用
  2. 在/common/js/main.js包括WL.Client.Connect。還包括onSuccess和onFailure功能。
  3. 創建新的環境 - 複選框Android設備,iPhone,iPad的
  4. 運行方式 - >構建所有環境(成功)
  5. 改變構建設置和部署目標。勾選構建應用程序以使用不同的工作燈服務器。輸入IP(https:// :)和contextroot(/ MyPushProject)。
  6. 運行方式 - >在worklight開發服務器上運行。
  7. 打開遠程服務器工作燈控制檯
  8. 部署XXXXX-all.wlapp文件(成功)
  9. 導出Android應用能夠apk文件。安裝在android應用程序。
  10. 作爲Xcode項目運行 - >在授權的iPad和iPhone上運行。

下面是兩個平臺的輸出。由於我的筆記本電腦的速度慢,性能差,我沒有使用Android模擬器進行測試。

Android: 構建並部署到遠程服務器成功。使用網絡瀏覽器查看。

使用android預覽。 WL.Client.Connect收到此錯誤 - https://XX.XX.XXX.XXX:XXXX/MyPushProject/apps/services/api/MyPushApps/android/init。無法加載資源:服務器響應狀態爲401(未授權)

iOS(iPad & iPhone): 構建併成功部署到遠程服務器。使用網絡瀏覽器查看。

預覽使用iphone和ipad。 WL.Client.Connect已成功接入Worklight Server。使用Xcode 7.1構建應用程序會在iPad和iPhone(iOS 9.0)中運行,並收到錯誤「無法連接到Worklight Server」。

從Xcode的日誌:

[錯誤] [無] [https://xxxx.xxxxxxxxx.xxx.xx:444/MyPushProject/apps/services/api/MyPushApps/iphone/init]主機不響應。

有人可以給我一些想法如何解決這個問題?非常感謝。

回答

0

您提供了錯誤的錯誤消息。對於Android,您需要查看LogCat並從那裏提供日誌。對於iOS,您需要查看Xcode Console並從那裏提供日誌...您還需要提及您正在使用的Worklight 6.2的確切內部版本號

對於iOS,您需要確保在生成的Apple Apple應用程序傳輸安全(ATS)禁用,否則您將無法連接到服務器。你可以看到如何做到這一點,在這裏:https://developer.ibm.com/mobilefirstplatform/2015/09/09/ats-and-bitcode-in-ios9/

在爲Android和iOS生成的本機項目中,您需要查看worklight.plist(iOS)和wlclient.properties(Android)文件,並確保Host ,端口和上下文根屬性具有您想要在那裏的屬性,否則應用程序將嘗試連接錯誤的服務器。

+0

Idan Adar,我檢查了logCat,並在Android中發現「請求[http:// localhost:10080/MyPushProject/apps/services/api/MyPushApps/android/init]」。我如何將其更改爲正確的服務器IP和端口?我已經完成了更改生成設置和部署目標。勾選構建應用程序以使用不同的工作燈服務器。輸入IP(https:// :)和contextroot(/ MyPushProject)。 –

+0

在您提到的對話框中設置正確的遠程服務器IP,端口和上下文後,您需要重新構建項目。 –

+0

謝謝idan。它解決了。 –

相關問題