【问题标题】:How do I capture the Worklight defaultOptions:onFailure event?如何捕获 Worklight defaultOptions:onFailure 事件?
【发布时间】:2014-05-21 23:05:23
【问题描述】:

我有一个在 iOS 上运行的 Worklight 6.1.0.1 混合应用程序。该应用程序使用基于适配器的身份验证。当点击登录按钮时,应用程序准备调用数据进行以下调用:

singleStepAuthRealmChallengeHandler.submitAdapterAuthentication(invocationData, {});

如果 WL 服务关闭,或者移动设备无法访问网络,则调用将超时。我在 Xcode 控制台中看到以下内容:

defaultOptions:onFailure Request timed out for http://myipaddress:10080/myapp/apps/services/../../invoke. Make sure the host address is available to the application (especially relevant for Android and iPhone apps).

如何捕获此超时事件,以便使用正确的消息更新 UI?

【问题讨论】:

    标签: authentication ibm-mobilefirst worklight-adapters


    【解决方案1】:

    根据 cmets 于 5 月 23 日更新:

    您的具体流程是什么?

    你应该首先使用WL.Client.connect({onSuccess: ..., onFailure:...});
    如果与服务器的连接成功,您将进入挑战处理程序。否则,您将输入 onFailure 并在那里您可以创建自定义错误处理。


    之前的回答尝试:
    以下是尝试 connect() 到 Worklight 服务器时的情况。

    如果您希望在客户端无法连接到服务器时进行自定义处理,我相信您需要在 initOptions.js 中启用并使用选项 onConnectionFailure

    var wlInitOptions = 
    // # The callback function to invoke in case application fails to connect to Worklight Server
        //onConnectionFailure: function (){},
    
    }
    

    否则,将显示 Worklight 的默认对话框。

    【讨论】:

    • 在我的应用程序中,Worklight 的默认对话框从不显示。我只知道超时,因为我在日志中看到它。
    • @richardsun,确保在调用适配器之前验证是否执行了 WL.Client.connect。连接有选项:onSuccess、onFailure。如果成功,则调用适配器过程。如果由于某种原因失败,请显示您的自定义错误。
    猜你喜欢
    • 2010-10-29
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2020-10-05
    • 2018-02-20
    相关资源
    最近更新 更多