IBM Worklight 6.1 - 升级到 v6.1 后,iOS 5 中的适配器调用失败

Posted

技术标签:

【中文标题】IBM Worklight 6.1 - 升级到 v6.1 后,iOS 5 中的适配器调用失败【英文标题】:IBM Worklight 6.1 - Adapter invocation failing in iOS 5 after upgrading to v6.1 【发布时间】:2013-12-21 08:23:45 【问题描述】:

我们还开发了一个基于 Worklight 的混合应用程序,其中包含原生页面。我们的起始页面是一个本地页面,我们从中调用适配器。

升级到 Worklight 6.1 后,此适配器调用现在在 ios 5 中总是失败,但在 iOS 6 和 iOS 7 中继续正常运行。

当适配器调用失败时,它返回原始 html 作为响应:Adapter Failure Response。

在 Xcode 控制台中,这是我们看到的错误:

[ERROR] Worklight:-[WLRequest requestFailed:]:338::Status code='404' error='(null)' [错误] 工作灯:-[WLClient onInvokeProcedureFailure:userInfo:]:696::response string=HTML returning from adapter

Worklight 6.0.0.x 中的相同应用程序在 iOS 5、6 和 7 中运行良好。

This sample application可以用来查看错误。

【问题讨论】:

一个非常令人困惑的问题。你说“崩溃”、“适配器不工作”、“ios5 6 7”。编辑问题并更详细地说明您遇到的问题。 这有什么令人困惑的事情......我问我是否根据工作灯文档从本机调用适配器,它在ios 6ios 7 中工作正常。如果我运行相同的代码,为什么这在ios 5 中不起作用,以及为什么适配器调用返回 html 而不是一些成功或失败响应。为什么你们关闭这个问题太快了。这是worklight 6.1中的错误吗? 我已经编辑了这个问题,这些是在 xcode 控制台上显示的日志,同时在ios 5上点击适配器 我已经回复了你的问题,请查看@IdanAdar 谢谢。我不确定。我已经转发给其他人看看了。 【参考方案1】:

从所做的测试来看,适配器调用似乎仅在 iOS 5 中失败,因为发送的请求包含双斜线,而在 iOS 6 和 7 中它包含一个斜线。

这可以在 Wireshark 中验证:

这是一个缺陷 没有适用的解决方法

一旦缺陷得到修复,它将通过IBM Fix Central 以及在 PMR 中提供,您的客户无论如何都需要打开以修复此缺陷。

【讨论】:

【参考方案2】:

检查您的 wlclient.properties 文件,尤其是 wlServerContext 属性。您似乎正在尝试连接到无效的 URL。

【讨论】:

如果是这种情况,为什么同一个应用程序可以在其他 IOS 版本(6 和 7)上运行

以上是关于IBM Worklight 6.1 - 升级到 v6.1 后,iOS 5 中的适配器调用失败的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.1 - 无法重新生成 iPhone 本机文件夹

IBM Worklight 6.1 开发者版下载链接

IBM Worklight 6.1 - 如何在适配器中发送帖子值?

将定制的 cordova 插件添加到 IBM Worklight 6.1

IBM Worklight 6.1 支持 iOS 64 位代码

IBM Worklight 6.1 - 添加可选的分析功能没有效果