首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在从传统的WebSphere应用服务器到自由的应用程序迁移过程中正确重构IBM-EJBJl-bnd.xmi文件?

如何在从传统的WebSphere应用服务器到自由的应用程序迁移过程中正确重构IBM-EJBJl-bnd.xmi文件?
EN

Stack Overflow用户
提问于 2018-06-21 20:17:09
回答 1查看 2.4K关注 0票数 0

从WebSphere应用服务器传统v9.0.0.7迁移到自由基v18.0.0.1时,我遇到了一个错误

控制台中的一个例外情况是:

代码语言:javascript
运行
复制
...
    CWWKZ0002E: An exception occurred while starting the application AP. The exception message was: com.ibm.ws.container.service.metadata.MetaDataException: com.ibm.wsspi.adaptable.module.UnableToAdaptException: com.ibm.ejs.container.EJBConfigurationException: com.ibm.wsspi.adaptable.module.UnableToAdaptException: com.ibm.ws.javaee.ddmodel.DDParser$ParseException: 
    CWWKC2251E: The ejbBindings element is missing the required name attribute in the /META-INF/ibm-ejb-jar-bnd.xmi deployment descriptor on line 9.
...

EJB绑定似乎存在问题。我一直读到have不支持WAS9EJB绑定,只将EJB绑定到java :命名空间语法。

ibm-ejb-jar-bnd.xmi文件如下所示:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1090575365340">
  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>
  <ejbBindings xmi:id="EnterpriseBeanBinding_1090575365340" jndiName="ejb/com/ap/ejb/AccountSessionHome">
    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#AccountSession"/>
  </ejbBindings>
  <ejbBindings xmi:id="EnterpriseBeanBinding_1047783791228" jndiName="ejb/com/ap/ejb/UtilitySessionHome">
    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#UtilitySession"/>
  </ejbBindings>
</ejbbnd:EJBJarBinding>

我到底应该如何重构bnd.xmi文件?请帮我解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 23:05:16

消息有点混乱,因为相同的解析器用于绑定文件的两个版本:旧版本的ibm-ejb-jar-bnd.xmi和新的版本ibm-ejb-jar-bnd.xml。在新格式(XML)中定义的name属性是旧格式(XMI)中的一个计算值,它是通过处理这一行来确定的:

代码语言:javascript
运行
复制
<enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#UtilitySession"/>

具体来说,解析器将遵循href并查找相应EJB的ejb-name元素。您应该在ejb-jar.xml中查找相应的条目,如下所示:

代码语言:javascript
运行
复制
<session id="UtilitySession">

这要么是缺失的,要么是有可能出现多个事件。或者,它缺少一个ejb-name元素。

注意:在3.0级或更高级别的ejb-jar.xml文件中支持较新的XML格式,在以前的ejb-jar.xml级别中都支持XMI格式

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50976847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档