我正在尝试显示最终用户维护窗口,例如"我们失败请稍后再试"并禁用该应用程序,但我的问题是,如果我的工作灯服务器本身已关闭,无法访问,我不能使用worklight控制台提供的功能,
有没有办法让我的应用程序与另一台服务器通话,当应用程序被禁用时返回以下json数据,我可以模拟这种行为是否可行。
json在工作场所中禁用访问权限时收到: -
/*-secure-
{"WL-Authentication-Failure":{"wl_remoteDisableRealm":{"message”:”We are down, Please try again soon","downloadLink":null,"messageType":"BLOCK"}}}*/
答案 0 :(得分:0)
我对这个问题有一些概念上的问题。
通常,生产环境(简化)不包含为最终用户提供服务的单个服务器......这意味着,将有一个节点集群,每个节点都是Worklight Server,并且此集群将位于负载之后将引导传入请求的平衡器。因此,在某个节点因维护而需要维护的情况下,仍然会有更多的服务器能够提供服务 - 没有停机时间。
因此,此时您通过从另一个(?)Worklight Server发送来模拟远程禁用的建议似乎不是正确的路径(它甚至可能是完全错误的)。你有没有第二台Worklight Server,为什么它不像往常一样只为应用程序业务提供服务?再看一下关于聚类的第一段。
现在假设仍有停机时间,这会影响所有服务器。应用程序的客户端逻辑应该能够处理与Worklight Server的失败连接。在这种情况下,您应该在WL.Client.connect()
的{{1}}回调函数中处理此问题,以显示看起来就像远程禁用对话框的onFailure
...或者可能通过initOption.js的WL.SimpleDialog
回调。
底线:您无法模拟为wl_RemoteDisable领域发回的JSON;它是更大的安全机制的一部分。
此外,或许更好地处理服务器维护模式的方法是让HTTP服务器返回特定的HTTP状态代码,检查此代码并根据返回的HTTP状态代码显示正确的消息。
在一个简单的例子中检查这段代码:
注意:onConnectionFailure
方法可以从MobileFirst Platform Foundation 7.0(以前的#34; Worklight")开始使用。
getStatus