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 6
和ios 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 - 如何在适配器中发送帖子值?
将定制的 cordova 插件添加到 IBM Worklight 6.1