通过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