Hey Simon, Thanks for your suggestions! I had already tried the later of these options (and yes didn't like the first), however the problem was that the classloader and resource loading mechanism for an ear on weblogic goes, system first, application second.
I've just managed to persuade weblogic's classloader to alter the resource loading strategy to be application first and so the META-INF/services/javax.xml.stream.XMLInputFactory from wstx is found first and respected. I'll post to the list how I've got this to work once I've done further testing :) Cheers, Dave. -- Dave Sowerby MEng MBCS On Thu, Sep 25, 2008 at 1:28 PM, Simon Laws <[EMAIL PROTECTED]> wrote: > > > On Thu, Sep 25, 2008 at 12:25 PM, Dave Sowerby <[EMAIL PROTECTED]> > wrote: >> >> Thanks Raymond, that's proved quite useful. >> >> After some investigation, I've realised I'm now stuck in a position >> where my Tuscany client-in-an-ejb's class loader has weblogic.jar >> earlier than any application jars and so XMLInputFactory.newInstance() >> always returns the broken weblogic implementation. I've tried a few >> approaches to resolving this, such as using weblogic-application.xml >> to attempt to force the javax.xml.* classes to be loaded from the >> application classloader. >> >> Does anyone know of any potential workaround to such a problem? I >> guess even specifying that if >> "weblogic.xml.stax.XMLStreamInputFactory" is returned from such a call >> that we should fall back on a different implementation would be >> preferable. >> >> >> Cheers, >> >> Dave. >> >> -- >> Dave Sowerby MEng MBCS >> >> On Thu, Sep 25, 2008 at 8:11 AM, Raymond Feng <[EMAIL PROTECTED]> wrote: >> > IIRC, somebody reported a similar issue before. It seems to be a >> > weblogic >> > stax parser bug. See: >> > >> > http://www.nabble.com/Working-around-(Weblogic)-StAX-issues-td18952833.html >> > >> > Thanks, >> > Raymond >> > >> > -------------------------------------------------- >> > From: "Dave Sowerby" <[EMAIL PROTECTED]> >> > Sent: Wednesday, September 24, 2008 10:10 PM >> > To: <[email protected]> >> > Subject: Stack from BaseAssemblyProcessor >> > >> >> Hi All, >> >> >> >> I'm just testing out the 1.3.2 build and I'm seeing the below stack >> >> when using SCANode2's createSCANodeFromClassLoader. >> >> >> >> I guess the problem here is that this is being called within a >> >> weblogic application and due to classloading issues I've been forced >> >> to use the inbuilt xml libraries in order to get this to work on >> >> 1.3/1.3.1, however this one is all new..... >> >> >> >> Does anyone have any thoughts on this one? >> >> >> >> Cheers, >> >> >> >> Dave. >> >> >> >> Caused by: java.lang.IllegalArgumentException: prefix cannot be "null" >> >> when creating a QName >> >> at javax.xml.namespace.QName.<init>(QName.java:220) >> >> at >> >> >> >> weblogic.xml.stax.XMLStreamReaderBase.getAttributeName(XMLStreamReaderBase.java:339) >> >> at >> >> >> >> javax.xml.stream.util.StreamReaderDelegate.getAttributeName(StreamReaderDelegate.java:128) >> >> at >> >> >> >> org.apache.tuscany.sca.assembly.xml.BaseAssemblyProcessor.readExtendedAttributes(BaseAssemblyProcessor.java:849) >> >> at >> >> >> >> org.apache.tuscany.sca.assembly.xml.CompositeProcessor.read(CompositeProcessor.java:191) >> >> at >> >> >> >> org.apache.tuscany.sca.assembly.xml.CompositeProcessor.read(CompositeProcessor.java:88) >> >> at >> >> >> >> org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.read(DefaultStAXArtifactProcessorExtensionPoint.java:360) >> >> at >> >> >> >> org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.read(ExtensibleStAXArtifactProcessor.java:146) >> >> at >> >> >> >> org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.read(CompositeDocumentProcessor.java:121) >> >> at >> >> >> >> org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.read(CompositeDocumentProcessor.java:56) >> >> at >> >> >> >> org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.read(ExtensibleURLArtifactProcessor.java:96) >> >> at >> >> >> >> org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase(ContributionServiceImpl.java:492) >> >> at >> >> >> >> org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:387) >> >> ... 28 more >> >> >> >> >> >> -- >> >> Dave Sowerby MEng MBCS >> > >> > > > Hi Dave > > Did you try: > > - setting the java.xml.stream.XMLInputFactory system property (I could > understand if you were reticent about setting this) > - setting META-INF/services/javax.xml.stream.XMLInputFactory in your jar > > Regards > > Simon >
