每次第一次调用时,适配器调用都会失败(超时)

Posted

技术标签:

【中文标题】每次第一次调用时,适配器调用都会失败(超时)【英文标题】:Adapter call is getting failed (Time out) every time at first call 【发布时间】:2014-04-09 06:34:36 【问题描述】:

在开发 android 完全混合应用时,我们观察到此适配器调用在每次第一次调用时都会失败(超时)。我正在为它添加截图

1:

我们还增加了 initOption.js 中的 timeout 属性,例如 timeout: 6000000,但不起作用。 我们还在适配器级别设置了超时,例如<procedure name="GetAPICall" requestTimeoutInSeconds="60"/>,但它也不起作用。

我的观察:我认为在此问题发生时请求尚未到达服务器。应用程序应等待 60 秒以等待响应,但我们会在点击适配器后立即获得此超时。

【问题讨论】:

适配器是否仅在第一次调用时超时(然后它会一直工作)?你有其他可以工作的适配器吗?什么是 Worklight 版本?适配器是否受到保护?一个建议:使用像 Wireshark 这样的嗅探工具监控网络流量,并观察幕后发生的事情。 只在第一次调用适配器时发生? 【参考方案1】:

您必须确保您的设备可以与部署了应用程序和适配器的 Worklight Server 通信。一个简单的测试方法是进入手机的移动浏览器并尝试连接到位于以下位置的 Worklight 控制台:

http://“服务器地址”:“端口”/“上下文根”/控制台

如果您的应用程序无法成功连接到控制台,则很可能您的设备未在正确的 wifi 网络上以建立通信。请尝试此连接并提供更新,以便我们进行进一步调查。至于您的观察,我同意该请求永远不会发送到服务器,这就是没有发生 60 秒超时的原因。

【讨论】:

嗨@jaalger,我遇到了一个问题,想知道您是否可以帮助我。当尝试使用 submitAdapterAuthentication() 对用户进行身份验证并且应用程序无法连接到 worklight 服务器时,我在控制台中收到了超时消息,但没有回调来处理超时。你能告诉我可以做些什么来捕捉这个吗? @vshall 你能打开一个新问题并提供更多细节吗

以上是关于每次第一次调用时,适配器调用都会失败(超时)的主要内容,如果未能解决你的问题,请参考以下文章

调用 mobilefirst 适配器时出错:调用过程失败

IBM Worklight 6.1 - 如何在较慢的网络中处理超时?

调用 http 适配器过程失败

MobileFirst Platform 适配器调用在模拟器中失败

IBM MobileFirst 中的 SQL 适配器调用失败

为 iOS MobileFirst ResourceRequest 适配器调用设置 HTTP 标头失败