java - CXFServlet 抛出 java.lang.NoSuchMethodError :

标签 java web-services soap cxf stax

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)

我正在使用 Java 8 和 Apache CXF 3.0.7 应用程序在本地服务器中正常工作,仅在将其移动到 AWS EC2 时出现错误,它发生在运行时

本地环境和ec2相同,jdk相同,tomcat版本相同

有什么想法吗?

[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

最佳答案

罪魁祸首很可能是woodstox-core-asl;尝试用不同的版本或 woodstox-core 替换它(不带 -asl)。

关于java - CXFServlet 抛出 java.lang.NoSuchMethodError :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65123168/

相关文章:

java - JNA system() 是否避免 fork

java - 主线程中的SubscribeOn和observeOn

java - 在不同的 JAX-WS Web 服务中利用通用实体类

ios - 如何管理全局变量

c# - Mono 网络服务和基本身份验证

c# - 服务引用未加载 : Schema with target namespace could not be found

java - 为什么这个编译得很好(明显的运行时异常如下)

java - 冗余 If 消息

android - android平台上的数据库关系设计

php - 将大文件上传到服务器(非阻塞)