通过Maven的CXF 2.7.x Woodstox兼容性

在CXF的文档中,据说2.7.x版本要求不在4.2.0版本下的Woodstox jar在类路径中可用。

有人可以建议Maven依赖Woodstox与CXF合作吗?

主要问题是当我尝试使用cxf的客户端时,会引发exception“无法创建安全的XMLInputFactory”。 根据不同的论坛( 例如 ),可以使用“org.apache.cxf.stax.allowInsecureParser”系统属性来解决问题,但这似乎不是一个好方法。 所以maven依赖是要走的路……

提前致谢。

好吧,最后我得到了一个解决方案。 首先,我要感谢StaxMan的帮助。

我的环境是:Weblogic 11g,CXF 2.7.5

问题是WLS已经包含StAX API和xml解析器的实现,这就是为什么应用程序在使用CXF时看不到Woodstox解析器的原因。

这是pom.xml:

  org.apache.cxf cxf-api   org.apache.cxf cxf-rt-frontend-jaxws   org.apache.cxf cxf-rt-transports-http  

和主要部分 – 位于resources / META-INF /中的weblogic-application.xml:

   com.ctc.wstx.* org.apache.*  

请注意,如果这样做,可能会出现“NoClassDefinition”错误。 如果是这样,请添加包含缺少类的maven依赖项。

希望这有助于某人。

这对我有用,没有prefer-application-packages impl:

  org.apache.cxf cxf-rt-frontend-jaxws ${cxf.version}   com.sun.xml.bind jaxb-impl     com.sun.xml.bind jaxb-impl 2.2.2   org.apache.cxf cxf-rt-transports-http ${cxf.version}    org.apache.cxf cxf-rt-transports-http-jetty ${cxf.version}  

现在我可以解决问题的唯一方法是在spring的上下文中添加这样的行:

           true