XML 验证错误 Mobilefirst 应用程序真实性
Posted
技术标签:
【中文标题】XML 验证错误 Mobilefirst 应用程序真实性【英文标题】:XML Validation Error Mobilefirst App Authenticity 【发布时间】:2015-07-13 12:14:01 【问题描述】:我的服务器已从 IBM Worklight 6.0 升级到 IBM Mobilefirst 6.3
服务器当前正在运行我的移动应用程序的旧版本,它没有启用 AppAuthenticity。
当我上传较新版本的应用程序时,AppAuthenticity 选项仅对一个(Windows)环境启用,而其他环境则保持禁用状态。
重新启动后,Windows 环境版本变得和其他版本一样,而 iPAD 环境开始提供更改 AppAuthenticity 的选项。
我通过 WLADM CLI 列出了应用程序,它给了我以下错误:
XML 验证错误,读取自 https://URL/wladmin/management-apis/1.0/runtimes/worklight/applications/MYAPPS?locale=en_US: cvc-complex-type.4:属性“downloadLink”必须出现在元素上 'applicationEnvironmentDataAccess'。
请注意,如果应用程序单独运行在其他服务器上,使用相同的应用程序描述符和 WAR 文件可以正常工作,只有在同一服务器上上传新旧版本时,才会出现此问题。
【问题讨论】:
【参考方案1】:你是说你的服务器有一个 .war 文件,上面有 2 个应用程序,一个来自 6.0,一个来自 6.3?
在 6.0 和 6.3 中有非常不同的应用程序真实性保护实现。这些不能共存于 same 单个 .war 文件中。
您需要将 2 个 .war 文件部署到您的应用程序服务器 - 一个用于处理 6.0 应用程序,另一个用于处理 6.3 应用程序。
相关的用户文档可以在这里阅读:http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.upgrade.doc/devenv/c_upgrade_to_srvr_in_production_env.html
【讨论】:
【参考方案2】:正如 Idan 所说,6.0 和 6.3 应用程序不能一起处理,因为我只想在较新版本中启用 App Authenticity,我作为解决方法所做的是通过 WLADM 工具连接并禁用 App Authenticity通过命令行的旧版本。
以下是需要使用的命令:
\Worklight\shortcuts>wladm --url=https://server.url/wladmin --user=admin --passwordfile=password.properties
验证应用程序当前的真实性:
app version %CONTEXT% %APP_NAME% %Environment_Name% %versionCode% get authenticitycheckrule
禁用
app version %CONTEXT% %APP_NAME% %Environment_Name% %versionCode% set authenticitycheckrule DISABLED
【讨论】:
以上是关于XML 验证错误 Mobilefirst 应用程序真实性的主要内容,如果未能解决你的问题,请参考以下文章
Security Access Manager 示例项目上的 MobileFirst authenticationConfig.xml 7.1 迁移错误 - 如何解决?