2011-10-19 237 views
0

我想部署包含RAR和幾個JAR模塊的EAR應用程序。該應用程序在WAS 7.0上正常工作,但只要我開始在WAS 8上部署它,我就會在FFDC日誌中獲得以下異常;在WAS 8.0上部署EAR

[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:[email protected] 
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 

以下是的application.xml的內容IBM-應用bnd.xmi下 'xyzee.ear/META-INF';

的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

回答

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的綁定,您可以在管理員中執行自己的操作控制檯)。

+0

你是對的。但是,從EAR內部刪除* .xmi文件也應該足夠了。 WAS將在部署時重新生成。 – user918176

+0

我從abcee.ear/META-INF文件夾中刪除了ibm-application-bnd.xmi文件,它工作正常。 謝謝你們的幫助。 - SJunejo – SJunejo