下载更新后 MobileFirst 8.0 直接更新失败

Posted

技术标签:

【中文标题】下载更新后 MobileFirst 8.0 直接更新失败【英文标题】:MobileFirst 8.0 Direct Update failing after downloading the updates 【发布时间】:2016-07-26 11:58:17 【问题描述】:

我正在使用 MFP8,我的应用程序是基于 Cordova 的混合应用程序,在 android 平台上运行(没有原生代码,只有 html、JS 和 CSS)

在 MFP8 中,根据文档,WL.connect() 不再存在,调用未受保护的资源不会触发直接更新。所以我在我的 HTTP 适配器中创建了一个安全方法并调用它。我还编写了一个挑战处理程序(它基本上什么都不做,只返回 true),适配器调用成功,我的应用程序的其余部分工作正常。

注意:挑战处理程序适配器必须用 Java 编写,我遵循了这些步骤。

现在我对我的 HTML 进行更改,执行“cordova build android”,然后调用“mfpdev app webupdate”。

一切顺利,我看到 MFP8 控制台中的 Web 资源已更新。现在我启动我的应用程序并单击一个按钮来调用虚拟安全方法并触发直接更新。它会下载资源,并在安装后最后出现错误消息 “更新失败” “直接更新失败。”并显示选项“CLOSE”和“RELOAD”。

我点击“重新加载”它会做和上面一样的事情。

我点击“关闭”,它会抛出一条错误消息,错误代码为“CHALLENGE_HANDLING_CANCELED”和错误消息“挑战处理程序操作已取消”。

注意:当没有直接更新时,我不会收到此消息,一切正常。

我看到 MFP8 (8.0.0.0-MFPF-DevKit-Windows-IF2016070718) 有一个修复程序,我从 FixCentral 下载了该修复程序,并在我的本地开发框中更新了我的 MFP8 服务器并更改了 config.xml 以更新应用程序到新版本并再次进行部署。

没有更改仍然收到相同的错误消息。

任何帮助将不胜感激

-A

【问题讨论】:

你能在 authenticationConfig.xml 中分享你的安全性吗? 它存储在哪里?我在我的开发框中的任何地方都没有看到这样的文件。我知道它在 MFP7.1 中可用。我正在使用 MFP8.0 GA。 v8.0没有这个文件。 我建议您从开发人员中心获取任何cordova 示例应用程序,看看它是否适合您。然后,将这些应用与您的应用进行比较,看看您需要对自己的应用进行哪些​​更改。 【参考方案1】:

首先:此处描述了迁移 v8.0 之前的 MFP 客户端项目的过程:http://www.ibm.com/support/knowledgecenter/en/SSHS8R_8.0.0/com.ibm.worklight.upgrade.doc/dev/c_convert2cordova.html

第二:这个特定项目的问题是 Cordova 的 config.xml 在 mfp:directUpdateAuthenticityPublicKey 元素中包含错误值(“mfp-pubkey”)。一旦取消该值,直接更新就开始正常工作。 关注http://www.ibm.com/support/knowledgecenter/en/SSHS8R_8.0.0/com.ibm.worklight.dev.doc/admin/t_authenticated_direct_update.html?view=kc#t_authenticated_dir_update,了解如何正确填写正确的密钥。

【讨论】:

以上是关于下载更新后 MobileFirst 8.0 直接更新失败的主要内容,如果未能解决你的问题,请参考以下文章

Mobilefirst 平台处理客户端事件

向后兼容在 MobileFirst 8.0 服务器中运行的 7.1 应用程序

如果设备离线,MobileFirst 8.0 C# WorklightResourceRequest.Send() 将挂起

带有 MobileFirst 8.0 未处理异常错误的本机 Windows 10 客户端应用程序

无法在 Eclipse 中启动 IBM MobileFirst Foundation Studio 8.0

Mobilefirst 8.0 推送通知