Hi Stephan, Could you try excluding this jar? Actually, OpenEJB looks for Java EE components for each jars. I guess it's not required for weblogic.jar so you could exclude this jar (bootstrap will also be faster).
Have a look to http://openejb.apache.org/3.0/application-discovery-via-the-classpath.html http://openejb.apache.org/3.0/application-discovery-via-the-classpath.html openejb.deployments.classpath.exclude=.*/weblogic(-[\\d.]+)?.jar(!/)? openejb.deployments.classpath.filter.descriptors=true Can you give it a try? Jean-Louis Stephan Bauer wrote: > > Hi, > > I am just wondering if anybody has ever had the same problem, that he > had to access a remote EJB deployed on a Weblogic (here 8.1.6) Server. > My problem is, that as soon as I put the evil weblogic.jar (which I need > for communicating with that remote EJB via the t3 protocol) into the > build path of my eclipse jee5 projects, then OpenEJB doesn't come up > anymore. > The problems seems to be, that there is a SAXParser in weblogic.jar that > comes into play when OpenEJB wants to read the persistence.xml from my > ejb/jpa module (see the cause of the stacktrace below). > Has anyone managed to get rid of that or an idea how it could be solved? > > INFO - Found ClientModule in classpath: > C:\eclipse-workspaces\workspace-xxx\xxx-ejb\lib\weblogic.jar > .... > .... > INFO - Beginning load: > C:\eclipse-workspaces\workspace-xxx\xxx-ejb\lib\weblogic.jar > INFO - Configuring enterprise application: classpath.ear > ERROR - Unable to load Persistence Unit from EAR: classpath.ear, module: > /C:/eclipse-workspaces/workspace-xxx/xxx-ejb/build/classes/. Exception: > null > javax.xml.bind.UnmarshalException > - with linked exception: > [org.xml.sax.SAXParseException: Premature end of file.] > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:476) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:198) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:167) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103) > at > org.apache.openejb.jee.jpa.unit.JaxbPersistenceFactory.getPersistence(JaxbPersistenceFactory.java:69) > at > org.apache.openejb.config.ReadDescriptors.deploy(ReadDescriptors.java:103) > at > org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:247) > at > org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:601) > at > org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:551) > at > org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:380) > at > org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:299) > at > org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:278) > at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:137) > at org.apache.openejb.OpenEJB.init(OpenEJB.java:286) > at org.apache.openejb.OpenEJB.init(OpenEJB.java:265) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36) > at > org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71) > at > org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53) > at > org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42) > at > javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667) > at > javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) > at javax.naming.InitialContext.init(InitialContext.java:223) > at javax.naming.InitialContext.<init>(InitialContext.java:197) > at > com.bmw.sf.xxx.facade.AbstractOpenEJBLocalFacadeTestCase.setupInitialContext(AbstractOpenEJBLocalFacadeTestCase.java:59) > at > com.bmw.sf.xxx.facade.AbstractOpenEJBLocalFacadeTestCase.setUp(AbstractOpenEJBLocalFacadeTestCase.java:23) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > Caused by: org.xml.sax.SAXParseException: Premature end of file. > at > weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1189) > at > weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135) > at > weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152) > at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:194) > ... 51 more > > any help would be extremely appreciated... > Many thanks in advance, > Stephan > > > -- View this message in context: http://old.nabble.com/Accessing-a-Remote-Weblogic-EJB-from-an-OpenEJB-environment-tp26802520p26808305.html Sent from the OpenEJB User mailing list archive at Nabble.com.
