26 April 2012

WLS: when recompiling EJB with new XSD from DDConverter NestedException Message is :011113

When attempting to pre-compile a MDB with appc the following error occurs:

[java][java] <Mar 9, 2012 10:07:20 AM EST> <Info> <J2EE> <BEA-160186> <Compiling EAR module "mdb_test.jar">
[java] 011113 NestedException Message is :011113
[java] at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.(MessageDrivenBeanInfoImpl.java:739)
[java] at weblogic.ejb.container.deployer.BeanInfoFactory.createBeanInfoImpl(BeanInfoFactory.java:36)
[java] at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:546)
[java] at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.(MBeanDeploymentInfoImpl.java:242)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.getStandAloneDeploymentInfo(EJBCompiler.java:1030)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:131)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:370)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:336)
[java] at weblogic.ejb.tools.EJBModule.compileEJB(EJBModule.java:541)
[java] at weblogic.ejb.tools.EJBModule.compile(EJBModule.java:162)
[java] at weblogic.application.compiler.ToolsModuleWrapper.compile(ToolsModuleWrapper.java:107)
[java] at weblogic.application.compiler.flow.CompileModuleFlow.compileModules(CompileModuleFlow.java:133)
[java] at weblogic.application.compiler.flow.CompileModuleFlow.compile(CompileModuleFlow.java:59)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:27)
[java] at weblogic.application.compiler.EARCompiler.compile(EARCompiler.java:53)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:101)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:35)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:27)
[java] at weblogic.application.compiler.Appc.runBody(Appc.java:203)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[java] at weblogic.application.compiler.Appc.main(Appc.java:263)
[java] at weblogic.appc.main(appc.java:14)
[java] 011113


Cause
Customer has upgraded schema header Deployment Descriptor to EJB 3.1, provided by DDConverter.
however the EJB still is 2.1 therefore it is not good practice to give the 3.1 schema.

Solution
1.
Change the ejb-jar.xml Deployment Descriptor Schema to:

<ejb-jar < xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee">xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1">

then recompile the EJB again.

2.
A similar behave has been found and solved in bug 13984579

No comments :

Blog Archive

Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.