直接在iPad上更新到Windows上的Worklight Studio开发服务器不工作



我想在我的Windows机器上开发,并通过直接更新将我的更改推送到iPad (iOS 7.1.2)测试设备上。这对我在WL 6.1中工作,但自从我更新到WL 6.2我有一些问题。下面的场景描述了我的问题。

  1. 创建新的WL项目并添加iPad作为环境
  2. 在application-descriptor.xml中启用worklightSettings
  3. 将下面的代码片段添加到main.js
  4. 在Worklight Development Server上运行
  5. 在Xcode中通过eclipse打开项目
  6. 在Xcode中清理项目并在iPad上运行
  7. 进行更改,重新部署并验证接收到直接更新
  8. 将项目复制到Windows机器并在eclipse
  9. 中打开
  10. 在Windows机器上运行
  11. 通过设置打开应用程序设置。使用自定义服务器URL
  12. 将mac的IP替换为windows的IP
  13. 在windows上:修改并重新部署
  14. 在iPad上重启应用

当我重新启动我的应用程序时,我在Windows机器上的in worklight开发服务器控制台中得到以下异常:

[WARNING ] SRVE0190E: File not found: //apps/services/api/HelloDirectUpdate/ipad/init
[ERROR   ] FWLSE0048E: Unhandled exception caught: SRVE0190E: File not found: //apps/services/api/HelloDirectUpdate/ipad/init

当我修改自定义服务器URL并删除最后一个斜杠时,我得到更新可用的消息。但是当我点击更新时,下载弹出框中的进度条不动。我的Windows机器和MAC都有以下WL Studio版本:platformVersion="6.2.0.00.20140724-2139"。我做错了什么?

main.js

function wlCommonInit(){
    WL.Client.connect({
        onSuccess: onConnectSuccess,
        onFailure: onConnectFailure
    });
}
function onConnectSuccess() {
    WL.Logger.debug("Connect success.");
}
function onConnectFailure() {
    WL.Logger.debug("Connect failed.");
}

这确实是Worklight 6.2中的一个缺陷。

一方面,正如您在复制步骤中提到的,您需要从自定义服务器URL中删除前斜杠,以便能够连接到Worklight服务器(因为否则URL中有两个斜杠,并且连接失败)。

另一方面,客户端需要这个斜杠。
你可以在Wireshark中看到:

Bad: GET/test3directUpdate/test3/iphone/1.0?皮肤=缺省HTTP/1.1
好:GET/test3/directUpdate/test3/iphone/1.0?皮肤=缺省HTTP/1.1

我为这个打开了一个缺陷;您将需要创建一个PMR,以便在可用时接收修复(或者等待它通过IBM fix Central/Eclipse Marketplace公开可用)。

最新更新