我有一台已从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'
请注意,如果在其他服务器上单独运行的应用程序在使用相同的Application-descriptor和WAR文件时工作正常,只有当旧版本和新版本上载到同一台服务器上时,才出现此问题。
答案 0 :(得分:1)
你是说你的服务器有一个单独的.war文件,里面有2个应用程序,一个来自6.0,一个来自6.3?
6.0和6.3中的应用程序真实性保护实现有很多不同。这些不能在相同的单个.war文件中共存。
您需要将2 .war文件部署到您的应用程序服务器 - 一个用于处理6.0应用程序,另一个用于处理6.3应用程序。
答案 1 :(得分:0)
正如Idan所说,6.0和6.3应用程序无法一起处理,因为我只想在较新版本中启用App Authenticity,我所做的解决方法是通过WLADM工具连接并禁用App Authenticity for旧版本通过命令行。
以下是需要使用的命令:
\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