2016-01-13 101 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。它解决了。 –

相关问题