我可以配置cxf使用特定的XML解析器吗?

问题描述:

有没有办法指定cxf使用哪个XML解析器?通过cfx.xml文件还是以编程方式?我可以配置cxf使用特定的XML解析器吗?

我们的应用程序在其classpath上有Woodstox解析器,而cxf似乎默认使用它。但是,Woodstox实现似乎会截断SOAP数据包中的大型Base64编码字节数组。

从类路径中移除Woodstox消除了这个截断问题,但由于我们的应用程序的其他部分也依赖于Woodstox,所以这不是一个选项。

如果我可以简单地告诉cxf使用另一个XML解析器,这将是理想的。这可能吗?

尝试设置下面的系统属性:

javax.xml.stream.XMLInputFactory=com.sun.xml.internal.stream.XMLInputFactoryImpl 

XMLInputFactory#newInstance()的详细信息,该的XMLInputFactory是如何配置的

+0

感谢有关的XMLInputFactory,凯文信息...虽然这最终并没有工作对我来说这是很好的信息知道... 我最终不得不重新工作我们的应用程序,以完全消除对Woodstox的依赖... – CJS 2010-02-05 20:36:42

+0

你应该能够覆盖其他XML解析工厂。你知道Woodstox使用哪个特定部分吗? – Kevin 2010-02-05 21:29:02