有没有办法指定 cxf 使用哪个 XML 解析器?通过 cfx.xml 文件还是以编程方式?
我们的应用程序在其类路径中有 Woodstox 解析器,而 cxf 似乎默认使用它。但是,Woodstox 实现似乎截断了 SOAP 数据包中的大型 Base64 编码字节数组。
从类路径中删除 Woodstox 消除了这个截断问题,但现在这不是一个选项,因为我们应用程序的其他部分也依赖于 Woodstox。
如果我可以简单地告诉 cxf 使用另一个 XML 解析器,那将是理想的。这可能吗?
有没有办法指定 cxf 使用哪个 XML 解析器?通过 cfx.xml 文件还是以编程方式?
我们的应用程序在其类路径中有 Woodstox 解析器,而 cxf 似乎默认使用它。但是,Woodstox 实现似乎截断了 SOAP 数据包中的大型 Base64 编码字节数组。
从类路径中删除 Woodstox 消除了这个截断问题,但现在这不是一个选项,因为我们应用程序的其他部分也依赖于 Woodstox。
如果我可以简单地告诉 cxf 使用另一个 XML 解析器,那将是理想的。这可能吗?
尝试设置以下系统属性:
javax.xml.stream.XMLInputFactory=com.sun.xml.internal.stream.XMLInputFactoryImpl
有关如何配置 XMLInputFactory 的详细信息,请参阅XMLInputFactory#newInstance()