无法在Worklight中部署Worklight适配器

时间:2013-05-22 04:56:54

标签: deployment ibm-mobilefirst websphere-8

在开发环境中部署BPM project时,一切正常。但是,在尝试将项目移动到WAS应用程序服务器时,适配器部署失败(.war和.wlapp部署成功通过):

Failed to deploy adapter 'BPMAdapter.adapter'. : Procedure 'getRest' in adapter 'BPMAdapter' requires security test 'BPMAdapter-securityTest' which is not defined in authenticationConfig.xml.

我们已经验证了authenticationConfig.xml中存在的安全测试,这是测试的一部分,实际上它存在:

<securityTests>
    <customSecurityTest name="BPMAdapter-securityTest">
        <test isInternalUserID="true" realm="BPMAuthRealm"/>
    </customSecurityTest>
    <webSecurityTest name="BPMApp-web-securityTest">
        <testUser realm="BPMAuthRealm"/>
    </webSecurityTest>
    <mobileSecurityTest name="BPMApp-strong-mobile-securityTest">
        <testUser realm="BPMAuthRealm"/>
        <testDeviceId provisioningType="none"/>
    </mobileSecurityTest>
    <mobileSecurityTest name="BPMApp-mobile-securityTest">
        <testUser realm="BPMAuthRealm"/>
    </mobileSecurityTest>
</securityTests>

这些是我们采取的步骤:

测试服务器:Windows 2008 R2 Datacenter
数据库:DB2 10.1
应用程序服务器:WAS 8.0.0.3 ND

  1. 已成功安装带有DB2数据库的Worklight Server Enterprise 5.0.5。 (Worklight正在:http://internal:9082

  2. 安装在服务器中(为了在构建期间没有JDBC问题)成功运行Worklight Enterprise Enterprise 5.0.5。

  3. 将项目导入Studio内的新工作区。

  4. 成功部署了worklight适配器BPMAdapter.xml。

  5. 右键单击应用程序(BPMApp)并“成功构建并部署”。

  6. 打开http://internalIP:8080/console(基于开发Jetty的工作灯控制台),查看是否部署了应用程序,确实显示在列表中(应用程序和适配器)。

  7. 使用“预览为公共资源”进行测试,以验证应用程序是否正常运行,成功。

    现在我们继续调整WAS部署所需的文件:

  8. 更改了application-descriptor.xml文件中的 http://${local.IPAddress}:8080http://internalIP:9082/worklight(此示例显示了相同的方法http://goo.gl/xbynL

  9. 此时我们打开bin目录并将所有* .wlapp文件和BPMAdapter.adapter文件复制到桌面文件夹中。

  10. 现在我们在worklight.properties文件中进行更改:

    publicWorkLightHostname =工作灯服务器的操作主机名 publicWorkLightProtocol = HTTP publicWorkLightPort = 9082 publicWorkLightContext = /工作灯 wl.db.jndi.name = JDBC / WorklightDS wl.db.type = DB2 wl.db.url = JDBC:DB2:工作灯 wl.db.username = wluser wl.db.password = correctpassword wl.reports.db.jndi.name = JDBC / WorklightReportsDS wl.reports.db.type = $ {} wl.db.type wl.reports.db.url = $ {} wl.db.url wl.reports.db.username = $ {} wl.db.username wl.reports.db.password = $ {wl.db.password}

  11. 保存worklight.properties并立即重新生成* .war,我们将* .war复制到部署文件夹,以便以后上传到WAS。

  12. 根据以下内容在WAS中创建企业应用程序:(信息中心,用于WL 5.0.5 - 将自定义.war文件部署到WebSphere Application Server完整配置文件),确保在“类加载器顺序”窗格中单击“类”首先加载本地类加载器(父类最后)并在模块部分“类加载器顺序”窗格中,单击首先加载本地类加载器的类(父类最后一个)。 WAR上传和启动成功。

  13. 随着.war上传(上下文根BPMWorklight),我们在浏览器中转到http://internalIP:9082/BPMWorklight/console/#catalog 并上传BPMApp-all.wlapp(我们不上传其他三个iPhone,android或common,只有-all.wlapp)上传成功。

  14. 我们继续上传http://internalIP:9082/BPMWorklight/console/#catalog 在适配器BPMAdapter.adapter中,我们收到错误“无法部署适配器'BPMAdapter.adapter'。:适配器'BPMAdapter'中的过程'getRest'需要安全测试'BPMAdapter-securityTest',它不在authenticationConfig.xml中定义。”< / p>

1 个答案:

答案 0 :(得分:2)

请在此处查看我的回答:Failed deploying application using Worklight Console: "Failed to deploy application <appName>.wlapp'. : ERROR

确保WebSphere上安装的Worklight Server版本与用于创建.war,.wlapps和.adapter文件的Worklight Studio Eclipse插件的版本相匹配。

此外,请确保:

  1. 您为所有人使用相同的上下文根(“BPMWorklight”):

    • in application-descriptor.xml
    • in worklight.properties
    • .war文件的名称
  2. 您已删除WAS上Worklight安装默认安装的以前的.war

  3. 我感觉你已经部署了几个Worklight .war文件并且它们以某种方式使用了错误的.war,因此没有找到/使用正确的authenticationConfig.xml,这可以解释为没有找到securityTest。

    在Worklight 5.0.x中,一次只能有一个Worklight .war文件。