Worklight 6.2:无法使用WL.Client.Connect

时间:2016-01-13 04:42:42

标签: android ios ibm-mobilefirst

我已经面临这个问题3天了。需要帮助。

我正在使用Worklight V6.2为Android和iOS创建具有推送通知功能的混合应用。在这两种环境中发现了不同的问题。

以下是创建应用程序并将其部署到远程服务器的步骤。

  1. 创建混合应用
  2. 在/common/js/main.js中包含WL.Client.Connect。还包括onSuccess和onFailure的功能。
  3. 创建新环境 - Android,iPhone,iPad的复选框
  4. Run As - >构建所有环境(成功)
  5. 更改构建设置和部署目标。勾选构建应用程序以使用其他工作灯服务器。输入IP(https:// :)和contextroot(/ MyPushProject)。
  6. Run As - >在worklight开发服务器上运行。
  7. 打开远程服务器Worklight控制台
  8. 部署XXXXX-all.wlapp文件(成功)
  9. 将Android应用程序导出到apk文件。在Android应用程序中安装。
  10. 作为Xcode项目运行 - >在授权的ipad和iphone中运行。
  11. 以下是两个平台的输出。我没有使用Android模拟器测试它,因为我的笔记本电脑的速度和功能都很慢。

    机器人: 构建并部署到远程服务器成功。使用Web浏览器查看。

    使用android预览。 WL.Client.Connect收到此错误 - https://XX.XX.XXX.XXX:XXXX/MyPushProject/apps/services/api/MyPushApps/android/init。无法加载资源:服务器响应状态为401(未授权)

    iOS(iPad和iPhone): 构建并部署到远程服务器成功。使用Web浏览器查看。

    使用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]主机无响应。

    有人可以告诉我如何解决这个问题吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

您提供了错误的错误消息。对于Android,您需要查看LogCat并从那里提供日志。对于iOS,您需要查看Xcode控制台并从那里提供日志...您还需要提及您正在使用的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,Port和Context Root属性具有您想要的属性在那里,否则应用程序将尝试连接错误的服务器。