通过Maven的CXF 2.7.x Woodstox兼容性
问题内容:
在CXF的文档中,据说2.7.x版本要求在4.2.0版本以下的Woodstox jars在类路径中可用。
有人可以建议Woodstox的Maven依赖项与CXF一起工作吗?
主要问题是当我尝试使用cxf的客户端时,引发了异常“无法创建安全的XMLInputFactory”。根据不同的论坛(例如),可以使用“
org.apache.cxf.stax.allowInsecureParser”系统属性来解决此问题,但这似乎不是一个好方法。所以Maven依赖是必经之路…
提前致谢。
问题答案:
好吧,终于我有了解决方案。首先,我要感谢StaxMan的帮助。
我的环境是:Weblogic 11g,CXF 2.7.5
问题在于WLS已经包含StAX API和xml解析器的实现,这就是为什么应用程序在使用CXF时看不到Woodstox解析器的原因。
这是pom.xml:
<!-- CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
</dependency>
和主要部分-位于resource / META-INF /中的weblogic-application.xml:
<prefer-application-packages>
<package-name>com.ctc.wstx.*</package-name>
<package-name>org.apache.*</package-name>
</prefer-application-packages>
请注意,如果这样做,可能会发生“ NoClassDefinition”错误。如果是这样,请添加包含缺少类的Maven依赖项。
希望这对某人有帮助。