You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Ne...@wellsfargo.com on 2015/03/17 20:54:36 UTC
CXF and xercesImpl.jar conflict.
While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4647 ms
Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [cxf] in context with path [/axis] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Note:
1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar files which are
xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and xercesImpl-2.11.0.jar
2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
Problem: Using xercersImpl.jar will cause CXF runtime exception.
Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
Thank you !!
Ed Xu
Re: CXF and xercesImpl.jar conflict.
Posted by Alessio Soldano <as...@redhat.com>.
I didn't follow the whole discussion here, but given we've been dealing
with a similar issue in WildFly [1]... if what you need is a recent
Xerces with that traversal api issue fixed, you might consider [2].
[1] https://issues.jboss.org/browse/WFCORE-563
[2] https://github.com/jboss/xerces/commits/jboss-2.11.0.SP3
On 18/03/15 16:40, Neng.Xu@wellsfargo.com wrote:
> Thanks Daniel.
> I remove xml-api.jar.
>
> C:\WorkAxis\AxisTest\endorsed directory contains
>> xercesImpl-2.11.0.jar
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had error:
> java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
> at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
> at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
> at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:872)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778)
> at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
> at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
>
> This means xml api in Java 7 does not work with xercesImpl-2.11.0.jar.
> I am using Xerces2 Java Parser 2.11.0 (http://xerces.apache.org/xerces2-j/index.html) which I got from Xalan-J 2.7.2
> (http://xalan.apache.org/xalan-j/).
>
> I see your idea and did another testing
> C:\WorkAxis\AxisTest\endorsed directory contains
> xercesImpl-2.6.2.jar
>
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had no error.
>
> Summary
> 1. xerces 2.11.0 is latest version. It does not work with CXF 3.0.2.
> 2. xerces consists of xml-apis.jar and xercesImpl.jar
> xercesImpl 2.11.0.jar +Java 7 does not work
> xercesImpl 2.6.2.jar + Java 7 works.
>
> I read MANIFES.MF of xml-apis.jar of xerces 2.11.0.
>
> Name: org/xml/sax/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Simple API for XML
> Specification-Vendor: David Megginson
> Specification-Version: 2.0.2 (sax2r3)
> Implementation-Title: org.xml.sax
> Implementation-Version: 2.0.2
> Implementation-Vendor: David Megginson
> Implementation-URL: http://www.saxproject.org/
>
> Name: org/w3c/dom/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Core
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: org/w3c/dom/ls/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Load and Save
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom.ls
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: javax/xml/stream/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Streaming API for XML (StAX) 1.0
> Specification-Vendor: BEA Systems, Inc.
> Specification-Version: 1.0
> Implementation-Title: javax.xml.stream
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/datatype/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.datatype
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/namespace/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.namespace
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/parsers/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.parsers
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/transform/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.transform
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/validation/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.validation
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/xpath/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.xpath
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> I believe CXF 3.0.2 uses some XML feature which conflicts new XML API (see error in previous email).
> But, I do not know which part.
>
> Any thoughts?
>
> Thanks
>
> Ed.
>
>
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: Tuesday, March 17, 2015 2:59 PM
> To: users@cxf.apache.org; Xu, Ed
> Subject: Re: CXF and xercesImpl.jar conflict.
>
>
> Remove the xml-apis jar out of there. The version in the JDK is newer than what is in the xml-api jar so you should just need the API’s in the JDK.
>
> Dan
>
>
>> On Mar 17, 2015, at 3:54 PM, Neng.Xu@wellsfargo.com wrote:
>>
>> While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
>>
>> Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
>> INFO: Server startup in 4647 ms
>> Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve
>> invoke
>> SEVERE: Servlet.service() for servlet [cxf] in context with path
>> [/axis] threw exception [Servlet execution threw an exception] with
>> root cause
>> java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
>> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
>> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
>> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
>> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> Note:
>> 1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
>> C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar
>> files which are
>> xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and
>> xercesImpl-2.11.0.jar
>>
>> 2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
>> There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
>>
>> Problem: Using xercersImpl.jar will cause CXF runtime exception.
>> Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
>>
>>
>> Thank you !!
>>
>> Ed Xu
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
>
--
Alessio Soldano
Web Service Lead, JBoss
RE: CXF and xercesImpl.jar conflict.
Posted by Surjit Sen <su...@yahoo.com>.
Hi Ed,
I am using ServiceMix 5.2.0 and have the same identical jars in the
lib/endorsed folder, except that org.apache.karaf.exception-2.3.9.jar is
present instead of org.apache.karaf.exception-2.4.1.jar. However, I still
get the java.lang.NoSuchMethodError:
javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.
exception.
Is there any other change that I have to make to get rid of this problem.
Please advise.
Thanks
Surjit Sen
--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-and-xercesImpl-jar-conflict-tp5755166p5755533.html
Sent from the cxf-user mailing list archive at Nabble.com.
RE: CXF and xercesImpl.jar conflict.
Posted by Ne...@wellsfargo.com.
Great information. The problem is resolved. Thanks
I download apache-servicemix-5.4.0 and I saw lib/endorsed contains following jars
org.apache.karaf.exception-2.4.1.jar org.apache.servicemix.specs.saaj-api-1.3-2.4.0.jar
org.apache.servicemix.specs.activation-api-1.1-2.4.0.jar org.apache.servicemix.specs.stax-api-1.2-2.4.0.jar
org.apache.servicemix.specs.jaxb-api-2.2-2.4.0.jar serializer-2.7.2.jar
org.apache.servicemix.specs.jaxp-api-1.4-2.4.0.jar xalan-2.7.2.jar
org.apache.servicemix.specs.jaxws-api-2.2-2.4.0.jar xercesImpl-2.11.0.jar
I tested and worked. Then I narrow down which servicemix jar fix the problem I reported in previous email.
I found org.apache.servicemix.specs.jaxp-api-1.4-2.4.0.jar fix the problem
It works with endorsed:
org.apache.servicemix.specs.jaxp-api-1.4-2.4.0.jar serializer-2.7.2.jar xalan-2.7.2.jar xercesImpl-2.11.0.jar
Summary
CXF 3.0.2; Java 7 and xercesImpl 2.11.0 works when endoursed has Jar org.apache.servicemix.specs.jaxp-api-1.4-2.4.0.jar
Thank.
Ed
-----Original Message-----
From: Daniel Kulp [mailto:dkulp@apache.org]
Sent: Wednesday, March 18, 2015 11:23 AM
To: Xu, Ed
Cc: users@cxf.apache.org
Subject: Re: CXF and xercesImpl.jar conflict.
It looks like that xml-api jar packages only version 1.0 of the STAX-API. We would require 1.2 (released in 2009) or newer. (1.3 is the latest).
You could try the servicemix bundle. It looks like they pull in 1.2 to override the version in xml-api:
http://repo1.maven.org/maven2/org/apache/servicemix/specs/org.apache.servicemix.specs.jaxp-api-1.4/2.4.0/
Dan
> On Mar 18, 2015, at 11:40 AM, Neng.Xu@wellsfargo.com wrote:
>
> Thanks Daniel.
> I remove xml-api.jar.
>
> C:\WorkAxis\AxisTest\endorsed directory contains
>> xercesImpl-2.11.0.jar
>
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had error:
> java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
> at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
> at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
> at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:872)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778)
> at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
> at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
>
> This means xml api in Java 7 does not work with xercesImpl-2.11.0.jar.
> I am using Xerces2 Java Parser 2.11.0
> (http://xerces.apache.org/xerces2-j/index.html) which I got from Xalan-J 2.7.2 (http://xalan.apache.org/xalan-j/).
>
> I see your idea and did another testing C:\WorkAxis\AxisTest\endorsed
> directory contains xercesImpl-2.6.2.jar
>
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had no error.
>
> Summary
> 1. xerces 2.11.0 is latest version. It does not work with CXF 3.0.2.
> 2. xerces consists of xml-apis.jar and xercesImpl.jar
> xercesImpl 2.11.0.jar +Java 7 does not work
> xercesImpl 2.6.2.jar + Java 7 works.
>
> I read MANIFES.MF of xml-apis.jar of xerces 2.11.0.
>
> Name: org/xml/sax/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Simple API for XML
> Specification-Vendor: David Megginson
> Specification-Version: 2.0.2 (sax2r3)
> Implementation-Title: org.xml.sax
> Implementation-Version: 2.0.2
> Implementation-Vendor: David Megginson
> Implementation-URL: http://www.saxproject.org/
>
> Name: org/w3c/dom/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Core
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: org/w3c/dom/ls/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Load and Save
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom.ls
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: javax/xml/stream/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Streaming API for XML (StAX) 1.0
> Specification-Vendor: BEA Systems, Inc.
> Specification-Version: 1.0
> Implementation-Title: javax.xml.stream
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/datatype/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.datatype
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/namespace/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.namespace
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/parsers/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.parsers
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/transform/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.transform
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/validation/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.validation
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/xpath/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.xpath
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> I believe CXF 3.0.2 uses some XML feature which conflicts new XML API (see error in previous email).
> But, I do not know which part.
>
> Any thoughts?
>
> Thanks
>
> Ed.
>
>
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: Tuesday, March 17, 2015 2:59 PM
> To: users@cxf.apache.org; Xu, Ed
> Subject: Re: CXF and xercesImpl.jar conflict.
>
>
> Remove the xml-apis jar out of there. The version in the JDK is newer than what is in the xml-api jar so you should just need the API’s in the JDK.
>
> Dan
>
>
>> On Mar 17, 2015, at 3:54 PM, Neng.Xu@wellsfargo.com wrote:
>>
>> While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
>>
>> Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
>> INFO: Server startup in 4647 ms
>> Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve
>> invoke
>> SEVERE: Servlet.service() for servlet [cxf] in context with path
>> [/axis] threw exception [Servlet execution threw an exception] with
>> root cause
>> java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
>> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
>> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
>> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
>> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> Note:
>> 1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
>> C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar
>> files which are
>> xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and
>> xercesImpl-2.11.0.jar
>>
>> 2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
>> There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
>>
>> Problem: Using xercersImpl.jar will cause CXF runtime exception.
>> Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
>>
>>
>> Thank you !!
>>
>> Ed Xu
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog Talend Community Coder -
> http://coders.talend.com
>
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
Re: CXF and xercesImpl.jar conflict.
Posted by Daniel Kulp <dk...@apache.org>.
It looks like that xml-api jar packages only version 1.0 of the STAX-API. We would require 1.2 (released in 2009) or newer. (1.3 is the latest).
You could try the servicemix bundle. It looks like they pull in 1.2 to override the version in xml-api:
http://repo1.maven.org/maven2/org/apache/servicemix/specs/org.apache.servicemix.specs.jaxp-api-1.4/2.4.0/
Dan
> On Mar 18, 2015, at 11:40 AM, Neng.Xu@wellsfargo.com wrote:
>
> Thanks Daniel.
> I remove xml-api.jar.
>
> C:\WorkAxis\AxisTest\endorsed directory contains
>> xercesImpl-2.11.0.jar
>
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had error:
> java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
> at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
> at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
> at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:872)
> at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778)
> at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
> at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
>
> This means xml api in Java 7 does not work with xercesImpl-2.11.0.jar.
> I am using Xerces2 Java Parser 2.11.0 (http://xerces.apache.org/xerces2-j/index.html) which I got from Xalan-J 2.7.2
> (http://xalan.apache.org/xalan-j/).
>
> I see your idea and did another testing
> C:\WorkAxis\AxisTest\endorsed directory contains
> xercesImpl-2.6.2.jar
>
> Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> I had no error.
>
> Summary
> 1. xerces 2.11.0 is latest version. It does not work with CXF 3.0.2.
> 2. xerces consists of xml-apis.jar and xercesImpl.jar
> xercesImpl 2.11.0.jar +Java 7 does not work
> xercesImpl 2.6.2.jar + Java 7 works.
>
> I read MANIFES.MF of xml-apis.jar of xerces 2.11.0.
>
> Name: org/xml/sax/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Simple API for XML
> Specification-Vendor: David Megginson
> Specification-Version: 2.0.2 (sax2r3)
> Implementation-Title: org.xml.sax
> Implementation-Version: 2.0.2
> Implementation-Vendor: David Megginson
> Implementation-URL: http://www.saxproject.org/
>
> Name: org/w3c/dom/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Core
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: org/w3c/dom/ls/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Document Object Model (DOM) Level 3 Load and Save
> Specification-Vendor: World Wide Web Consortium
> Specification-Version: 1.0
> Implementation-Title: org.w3c.dom.ls
> Implementation-Version: 1.0
> Implementation-Vendor: World Wide Web Consortium
> Implementation-URL: http://www.w3c.org/DOM/
>
> Name: javax/xml/stream/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Streaming API for XML (StAX) 1.0
> Specification-Vendor: BEA Systems, Inc.
> Specification-Version: 1.0
> Implementation-Title: javax.xml.stream
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/datatype/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.datatype
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/namespace/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.namespace
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/parsers/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.parsers
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/transform/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.transform
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/validation/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.validation
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> Name: javax/xml/xpath/
> Comment: xml-commons for http://xml.apache.org/ subproject's use
> Specification-Title: Java API for XML Processing (JAXP) 1.4
> Specification-Vendor: Sun Microsystems Inc.
> Specification-Version: 1.4
> Implementation-Title: javax.xml.xpath
> Implementation-Version: 1.4.01
> Implementation-Vendor: Apache Software Foundation
> Implementation-URL: http://xml.apache.org/commons/
>
> I believe CXF 3.0.2 uses some XML feature which conflicts new XML API (see error in previous email).
> But, I do not know which part.
>
> Any thoughts?
>
> Thanks
>
> Ed.
>
>
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: Tuesday, March 17, 2015 2:59 PM
> To: users@cxf.apache.org; Xu, Ed
> Subject: Re: CXF and xercesImpl.jar conflict.
>
>
> Remove the xml-apis jar out of there. The version in the JDK is newer than what is in the xml-api jar so you should just need the API’s in the JDK.
>
> Dan
>
>
>> On Mar 17, 2015, at 3:54 PM, Neng.Xu@wellsfargo.com wrote:
>>
>> While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
>>
>> Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
>> INFO: Server startup in 4647 ms
>> Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve
>> invoke
>> SEVERE: Servlet.service() for servlet [cxf] in context with path
>> [/axis] threw exception [Servlet execution threw an exception] with
>> root cause
>> java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
>> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
>> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
>> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
>> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
>> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
>> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> Note:
>> 1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
>> C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar
>> files which are
>> xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and
>> xercesImpl-2.11.0.jar
>>
>> 2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
>> There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
>>
>> Problem: Using xercersImpl.jar will cause CXF runtime exception.
>> Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
>>
>>
>> Thank you !!
>>
>> Ed Xu
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
>
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
RE: CXF and xercesImpl.jar conflict.
Posted by Ne...@wellsfargo.com.
Thanks Daniel.
I remove xml-api.jar.
C:\WorkAxis\AxisTest\endorsed directory contains
> xercesImpl-2.11.0.jar
Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
I had error:
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
at org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Unknown Source)
at org.apache.xerces.dom.DeferredDocumentImpl.synchronizeChildren(Unknown Source)
at org.apache.xerces.dom.CoreDocumentImpl.getDocumentElement(Unknown Source)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:872)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
This means xml api in Java 7 does not work with xercesImpl-2.11.0.jar.
I am using Xerces2 Java Parser 2.11.0 (http://xerces.apache.org/xerces2-j/index.html) which I got from Xalan-J 2.7.2
(http://xalan.apache.org/xalan-j/).
I see your idea and did another testing
C:\WorkAxis\AxisTest\endorsed directory contains
xercesImpl-2.6.2.jar
Run the testing with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
I had no error.
Summary
1. xerces 2.11.0 is latest version. It does not work with CXF 3.0.2.
2. xerces consists of xml-apis.jar and xercesImpl.jar
xercesImpl 2.11.0.jar +Java 7 does not work
xercesImpl 2.6.2.jar + Java 7 works.
I read MANIFES.MF of xml-apis.jar of xerces 2.11.0.
Name: org/xml/sax/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Simple API for XML
Specification-Vendor: David Megginson
Specification-Version: 2.0.2 (sax2r3)
Implementation-Title: org.xml.sax
Implementation-Version: 2.0.2
Implementation-Vendor: David Megginson
Implementation-URL: http://www.saxproject.org/
Name: org/w3c/dom/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Document Object Model (DOM) Level 3 Core
Specification-Vendor: World Wide Web Consortium
Specification-Version: 1.0
Implementation-Title: org.w3c.dom
Implementation-Version: 1.0
Implementation-Vendor: World Wide Web Consortium
Implementation-URL: http://www.w3c.org/DOM/
Name: org/w3c/dom/ls/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Document Object Model (DOM) Level 3 Load and Save
Specification-Vendor: World Wide Web Consortium
Specification-Version: 1.0
Implementation-Title: org.w3c.dom.ls
Implementation-Version: 1.0
Implementation-Vendor: World Wide Web Consortium
Implementation-URL: http://www.w3c.org/DOM/
Name: javax/xml/stream/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Streaming API for XML (StAX) 1.0
Specification-Vendor: BEA Systems, Inc.
Specification-Version: 1.0
Implementation-Title: javax.xml.stream
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/datatype/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.datatype
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/namespace/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.namespace
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/parsers/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.parsers
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/transform/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.transform
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/validation/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.validation
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
Name: javax/xml/xpath/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing (JAXP) 1.4
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.4
Implementation-Title: javax.xml.xpath
Implementation-Version: 1.4.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/
I believe CXF 3.0.2 uses some XML feature which conflicts new XML API (see error in previous email).
But, I do not know which part.
Any thoughts?
Thanks
Ed.
-----Original Message-----
From: Daniel Kulp [mailto:dkulp@apache.org]
Sent: Tuesday, March 17, 2015 2:59 PM
To: users@cxf.apache.org; Xu, Ed
Subject: Re: CXF and xercesImpl.jar conflict.
Remove the xml-apis jar out of there. The version in the JDK is newer than what is in the xml-api jar so you should just need the API’s in the JDK.
Dan
> On Mar 17, 2015, at 3:54 PM, Neng.Xu@wellsfargo.com wrote:
>
> While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
>
> Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 4647 ms
> Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve
> invoke
> SEVERE: Servlet.service() for servlet [cxf] in context with path
> [/axis] threw exception [Servlet execution threw an exception] with
> root cause
> java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> Note:
> 1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
> C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar
> files which are
> xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and
> xercesImpl-2.11.0.jar
>
> 2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
>
> Problem: Using xercersImpl.jar will cause CXF runtime exception.
> Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
>
>
> Thank you !!
>
> Ed Xu
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
Re: CXF and xercesImpl.jar conflict.
Posted by Daniel Kulp <dk...@apache.org>.
Remove the xml-apis jar out of there. The version in the JDK is newer than what is in the xml-api jar so you should just need the API’s in the JDK.
Dan
> On Mar 17, 2015, at 3:54 PM, Neng.Xu@wellsfargo.com wrote:
>
> While using CXF in an existing SOAP web service Application which uses xercesImpl.jar (version 2.11.0) , following runtime errors happened.
>
> Mar 17, 2015 2:03:11 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 4647 ms
> Mar 17, 2015 2:04:11 PM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet [cxf] in context with path [/axis] threw exception [Servlet execution threw an exception] with root cause
> java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:281)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:185)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:65)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243)
> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)
> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> Note:
> 1. The application run with " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed"
> C:\WorkAxis\AxisTest\endorsed directory contains xalan 2.7.2 jar files which are
> xalan-2.7.2.jar;serializer-2.7.2.jar;xml-apis-1.4.01.jar and xercesImpl-2.11.0.jar
>
> 2. If the application run without " -Djava.endorsed.dirs=C:\WorkAxis\AxisTest\endorsed".
> There is no error. But, this cannot be our solution because we have to use xercersImpl.jar.
>
> Problem: Using xercersImpl.jar will cause CXF runtime exception.
> Question: Is there a way that CXF SOAP web service can use xercesImpl.jar ?
>
>
> Thank you !!
>
> Ed Xu
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com