2010-02-05 8 views
3

Есть ли способ указать, какой XML-парсер cxf использует? Либо через файл cfx.xml, либо программно?Могу ли я настроить cxf для использования определенного синтаксического анализатора XML?

Наше приложение имеет парсер Woodstox на своем пути к классам, и, по-видимому, cxf использует это по умолчанию. Тем не менее, реализация Woodstox, кажется, обрезает большие байт-массивы с кодировкой Base64 в пакете SOAP.

Удаление Woodstox из класса пути устраняет эту проблему усечения, но сейчас это не вариант, так как другие части нашего приложения также зависят от Woodstox.

Было бы идеально, если бы я мог просто сказать cxf использовать другой синтаксический анализатор XML. Это возможно?

ответ

3

Попробуйте установить следующее системное свойство:

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

См XMLInputFactory#newInstance() подробности о том, как XMLInputFactory настроен

+0

Спасибо за информацию о XMLInputFactory, Кевин ... Несмотря на то, что в конечном счете не работает для меня это хорошая информация, чтобы знать ... Мне пришлось переделать наше приложение, чтобы полностью удалить зависимость от Woodstox ... – CJS

+0

Вы должны уметь переопределять другие заводы XML-анализа. Вы знаете, какая конкретная часть используется Woodstox? – Kevin

 Смежные вопросы

  • Нет связанных вопросов^_^