在开发环境中部署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
已成功安装带有DB2数据库的Worklight Server Enterprise 5.0.5。 (Worklight正在:http://internal:9082
安装在服务器中(为了在构建期间没有JDBC问题)成功运行Worklight Enterprise Enterprise 5.0.5。
将项目导入Studio内的新工作区。
成功部署了worklight适配器BPMAdapter.xml。
右键单击应用程序(BPMApp)并“成功构建并部署”。
打开http://internalIP:8080/console
(基于开发Jetty的工作灯控制台),查看是否部署了应用程序,确实显示在列表中(应用程序和适配器)。
使用“预览为公共资源”进行测试,以验证应用程序是否正常运行,成功。
现在我们继续调整WAS部署所需的文件:
更改了application-descriptor.xml文件中的
http://${local.IPAddress}:8080
到http://internalIP:9082/worklight
(此示例显示了相同的方法http://goo.gl/xbynL)
此时我们打开bin目录并将所有* .wlapp文件和BPMAdapter.adapter文件复制到桌面文件夹中。
现在我们在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}
保存worklight.properties并立即重新生成* .war,我们将* .war复制到部署文件夹,以便以后上传到WAS。
根据以下内容在WAS中创建企业应用程序:(信息中心,用于WL 5.0.5 - 将自定义.war文件部署到WebSphere Application Server完整配置文件),确保在“类加载器顺序”窗格中单击“类”首先加载本地类加载器(父类最后)并在模块部分“类加载器顺序”窗格中,单击首先加载本地类加载器的类(父类最后一个)。 WAR上传和启动成功。
随着.war上传(上下文根BPMWorklight),我们在浏览器中转到http://internalIP:9082/BPMWorklight/console/#catalog
并上传BPMApp-all.wlapp(我们不上传其他三个iPhone,android或common,只有-all.wlapp)上传成功。
我们继续上传http://internalIP:9082/BPMWorklight/console/#catalog
在适配器BPMAdapter.adapter中,我们收到错误“无法部署适配器'BPMAdapter.adapter'。:适配器'BPMAdapter'中的过程'getRest'需要安全测试'BPMAdapter-securityTest',它不在authenticationConfig.xml中定义。”< / p>
答案 0 :(得分:2)
确保WebSphere上安装的Worklight Server版本与用于创建.war,.wlapps和.adapter文件的Worklight Studio Eclipse插件的版本相匹配。
此外,请确保:
您为所有人使用相同的上下文根(“BPMWorklight”):
您已删除WAS上Worklight安装默认安装的以前的.war
我感觉你已经部署了几个Worklight .war文件并且它们以某种方式使用了错误的.war,因此没有找到/使用正确的authenticationConfig.xml,这可以解释为没有找到securityTest。
在Worklight 5.0.x中,一次只能有一个Worklight .war文件。