java - Apache CXF 依赖项

标签 java cxf

我们正在升级 JDK(Tomcat),我们将 CXF 从 2.4.0 升级到 3.2.12,我们收到一个错误,该错误已通过添加 -Dorg.apache.cxf.stax 修复。 allowInsecureParser=1 作为基于此 CXF web service client: "Cannot create a secure XMLInputFactory" 的 JVM 参数但我认为这不是正确的做法。有人可以建议任何其他合理的解决方案吗?

javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:157)
    at $Proxy38.printString(Unknown Source)
    at ExampleNmsWebServiceClient.printString(ExampleNmsWebServiceClient.java:29)
    at ExampleNmsWebServiceClient.main(ExampleNmsWebServiceClient.java:40)
Caused by: org.apache.cxf.binding.soap.SoapFault: Cannot create a secure XMLInputFactory
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84)
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
    at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
    at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
    at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)

最佳答案

您需要将 Woodstox 添加到类路径中,请参阅此处接受的答案:https://stackoverflow.com/a/24603135/3745288

关于java - Apache CXF 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60403425/

相关文章:

java - JavaDoc 中的 {@code memberData} 和 <code>memberData</code> 有什么区别

java - 将对象存储在数组中并显示它们(Java)

java - csv文件需要的相对路径应该是什么

java - 在 JAX-WS webservice 方法中获取原始 XML 参数

maven - 找不到命名空间的 DestinationFactory - 使用 Jetty 创建 CXF 的 super JAR

java - 需要不兼容的类型 : Class<T> found: Class<CAP#1> where T is a type-variable

java - RichFaces 丰富 :panelMenu from RF demo causes error

java - 在 CXF 中使用 log4j 登录和注销拦截器消息

soap - 如何在 mule 中手动抛出 Soap Fault

Java网络服务: empty arrays