从Worklight 6.2升级MobileFirst 7 Server升级,适配器调用无效

时间:2015-05-07 06:46:58

标签: upgrade ibm-mobilefirst mobilefirst-adapters

我们有一个可与Worklight 6.2服务器一起使用的MobileFirst应用程序。我们使用的是http适配器:<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">

目前我们正在将生产服务器更改为7.0.0。在Development Server上,我们可以测试我们的应用程序,所有功能都可以。我们在构建配置上使用生产服务器创建了.war,并与android .wlapp一起上传。现在,当应用程序尝试调用生产服务器上的任何适配器函数时,我们会收到404 invokeProcedure onFailure返回UNEXPECTED_ERROR。这是:

  • 服务器版本:7.0.0.00.20150312-0731
  • Project WAR版本:7.0.0.00.20150402-2001
  • 适配器名称:XXXXX。版本:7.0.0.00.20150402-2001
  • 申请:XXXXX-android-0.9.7,版本:7.0.0.00.20150402-2001

我们在应用程序中未启用安全性。 是否必须在服务器上启用某些东西以允许旧类型适配器调用?
当我们使用升级的MobileFirst Development Studio 7.0.0.00.20150430作为开发平台进行测试时 - 相同的服务器版本,我们得到相同的404(未找到上下文),但尝试连接authorization / v1 / clients / instance而不是/ apps / services / api / XXXXX / android / query

服务器升级是否应解决此问题?我们注意到有可用的更新。

服务器位于https连接上,但在WL 6.2上是相同的。

1 个答案:

答案 0 :(得分:1)

根据评论和提供的messages.log中的描述,您显然正在尝试使用应用程序真实性保护。

此功能在v6.2中以某种方式工作,并且在v6.3及更高版本中以不同的方式工作 从评论中看,您只是添加了publickSigningKey - 这已经不够了。

请参阅更新的应用程序真实性保护教程,了解要遵循的步骤:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/authentication-security/application-authenticity-protection/

要遵循的一般步骤:

  1. 使用安全测试
  2. 设置authenticationConfig.xml
  3. 将安全测试添加到application-descriptor.xml
  4. 中的环境节点
  5. 将publicSigningKey添加到<publicSigningKey>元素
  6. 添加应用程序包名称<packageName>元素
  7. 我相信你错过了第4步。
    请注意,您现在还可以启用扩展真实性模式;按照教程中的说明进行操作。

    注意步骤3:显然,在导出签名的.apk文件时,必须使用用于生成publicSigningKey的相同密钥库...否则将出现不匹配,并且真实性质询将失败。

    在您的authenticationConfig.xml中,确保您可以使用securityTest(= not 注释掉,就像您在下面的评论中提供的文件一样。

    在您的application-descriptor.xml中,您缺少Android环境元素中的securityTest属性:<android version="0.9.9">更改为<android version="0.9.9" securityTest="customTests">