问题
java.lang.NoSuchMethodError: org.codehaus.stax2.ri.EmptyIterator.getInstance()Lorg/codehaus/stax2/ri/EmptyIterator;
at com.ctc.wstx.sw.OutputElementBase.getPrefixes(OutputElementBase.java:358)
at org.apache.cxf.staxutils.StaxUtils.writeStartElement(StaxUtils.java:793)
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:741)
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:705)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:214)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:174)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
at com.sun.proxy.$Proxy223.execute(Unknown Source)
I'm using Java 8 and Apache CXF 3.0.7 application work fine in local server only get error when move it AWS EC2, it is happening runtime
local environment and ec2 is same, same jdk and same tomcat version
Any thoughts?
[INFO] +- org.apache.cxf:cxf-rt-ws-security:jar:3.0.7:compile
[INFO] | +- org.apache.cxf:cxf-core:jar:3.0.7:compile
[INFO] | | +- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:compile
[INFO] | | \- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile
[INFO] | +- org.apache.cxf:cxf-rt-bindings-soap:jar:3.0.7:compile
[INFO] | | +- org.apache.cxf:cxf-rt-wsdl:jar:3.0.7:compile
[INFO] | | | \- wsdl4j:wsdl4j:jar:1.6.3:compile
[INFO] | | \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:3.0.7:compile
[INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.2.11:compile
[INFO] | | \- com.sun.xml.bind:jaxb-core:jar:2.2.11:compile
[INFO] | +- org.apache.cxf:cxf-rt-security:jar:3.0.7:compile
[INFO] | | \- org.apache.wss4j:wss4j-ws-security-common:jar:2.0.6:compile
[INFO] | | +- org.apache.santuario:xmlsec:jar:2.0.5:compile
[INFO] | | +- org.opensaml:opensaml:jar:2.6.1:compile
[INFO] | | | \- org.opensaml:openws:jar:1.5.1:compile
[INFO] | | | \- org.opensaml:xmltooling:jar:1.4.1:compile
[INFO] | | +- org.jasypt:jasypt:jar:1.9.2:compile
[INFO] | | \- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
[INFO] | +- net.sf.ehcache:ehcache:jar:2.10.4:compile
[INFO] | +- org.apache.wss4j:wss4j-ws-security-dom:jar:2.0.6:compile
[INFO] | +- org.apache.wss4j:wss4j-policy:jar:2.0.6:compile
[INFO] | | \- org.apache.neethi:neethi:jar:3.0.3:compile
[INFO] | +- org.apache.wss4j:wss4j-ws-security-stax:jar:2.0.6:compile
[INFO] | | \- org.apache.wss4j:wss4j-bindings:jar:2.0.6:compile
[INFO] | \- org.apache.wss4j:wss4j-ws-security-policy-stax:jar:2.0.6:compile
[INFO] +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:3.0.7:compile
[INFO] | +- xml-resolver:xml-resolver:jar:1.2:compile
[INFO] | +- asm:asm:jar:3.3.1:compile
[INFO] | +- org.apache.cxf:cxf-rt-bindings-xml:jar:3.0.7:compile
[INFO] | +- org.apache.cxf:cxf-rt-frontend-simple:jar:3.0.7:compile
[INFO] | \- org.apache.cxf:cxf-rt-ws-addr:jar:3.0.7:compile
[INFO] | \- org.apache.cxf:cxf-rt-ws-policy:jar:3.0.7:compile
[INFO] +- org.apache.cxf:cxf-rt-transports-http:jar:3.0.7:compile
回答1:
The culprit is most likely woodstox-core-asl
; try to replace it with a different version or woodstox-core
(without the -asl
).
来源:https://stackoverflow.com/questions/65123168/cxfservlet-throws-java-lang-nosuchmethoderror