在WAS 8.0上部署EAR

时间:2011-10-19 11:29:46

标签: deployment websphere ear

我正在尝试部署包含RAR和几个JAR模块的EAR应用程序。该应用程序在WAS 7.0上运行良好,但是当我开始在WAS 8上部署它时,我在FFDC日志中得到以下异常;

[19/10/11 11:45:40:454 BST]     FFDC Exception:com.ibm.websphere.management.application.client.AppDeploymentException SourceId:com.ibm.ws.management.application.client.AppInstallHelper.checkForXmiFiles ProbeId:1322 Reporter:java.lang.Class@b88a90
com.ibm.websphere.management.application.client.AppDeploymentException: ADMA0208E: The Enterprise Archive (EAR) contains an unsupported xmi format bindings or extensions file.
at com.ibm.ws.management.application.client.AppInstallHelper.checkForXmiFiles(AppInstallHelper.java:1321)
at com.ibm.ws.management.application.client.AppInstallHelper.checkForEE5Restrictions(AppInstallHelper.java:511)
at com.ibm.ws.management.application.client.AppInstallHelper.checkForEE5Restrictions(AppInstallHelper.java:476)
at com.ibm.ws.management.application.client.AppInstallHelper.getAppDeploymentInfo(AppInstallHelper.java:562)
at com.ibm.websphere.management.application.AppManagementFactory.readArchive(AppManagementFactory.java:129)
at com.ibm.websphere.management.application.AppManagementFactory.readArchive(AppManagementFactory.java:91)
at com.ibm.ws.console.appmanagement.action.GatherTaskData.<init>(GatherTaskData.java:128)
at com.ibm.ws.console.appmanagement.controller.DefaultBindingsController.perform(DefaultBindingsController.java:137)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(Unknown Source)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(Unknown Source)
at org.apache.struts.action.RequestProcessor.process(Unknown Source)
at org.apache.struts.action.ActionServlet.process(Unknown Source)
at org.apache.struts.action.ActionServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistance(WSCUrlFilter.java:932)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:499)
at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:320)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3639)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:950)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1659)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1648)

CapturedDataElements begin
arg0:null
arg1:null
CapturedDataElements end

以下是'xyzee.ear / META-INF'下的 application.xml ibm-application-bnd.xmi 的内容;

application.xml中

 <?xml version="1.0" encoding="UTF-8"?>
 <application id="tocfeeEAR" version="5" xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/application_5.xsd">
<display-name>XYZ-EE_EAR</display-name>
<module>
  <connector>abcplugin-ra.rar</connector>
</module>
<module>
  <ejb>abclistener-ejb.jar</ejb>
</module>
<module>
  <ejb>abcmessage-ejb.jar</ejb>
</module>
<module>
  <ejb>delivery-ejb.jar</ejb>
</module>
<library-directory>lib</library-directory>  
</application>

IBM-应用bnd.xmi

<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.bindings.applicationbnd:ApplicationBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.ejs.models.base.bindings.applicationbnd="applicationbnd.xmi" xmi:id="ApplicationBinding_1245927891310">
<authorizationTable xmi:id="AuthorizationTable_1245927891310"/>
<application href="META-INF/application.xml#abceeEAR"/>
</com.ibm.ejs.models.base.bindings.applicationbnd:ApplicationBinding>

我们将不胜感激您的帮助和意见。

谢谢,

-

SJunejo

1 个答案:

答案 0 :(得分:2)

我不确定您是如何构建特定于IBM的.xmi文件的,但似乎WebSphere 8期望至少有一个与WebSphere 7不同的东西。 (例如,请参阅this problem report了解相同的ADMA0208E错误代码。)

您可以使用WebSphere 8作为目标重建EAR(如果您使用RAD或RSA;它们应该在切换到WebSphere 8目标时更正文件),准确了解WebSphere 8期望的内容并手动构建文件,或从EAR中删除.xmi文件,并在部署时手动映射所有内容。

(我假设后者仍然有效。这是我们在WebSphere 6.1上使用的方法,因为我们构建了独立于服务器的WAR和EAR。。xmi文件执行特定于WebSphere的绑定,您可以在管理控制台中自行执行。)