barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 26 марта 2014 г.

axis2 1.6.2 на weblogic и "Weblogic's StAX implementation is unsupported and some Axiom features will not work as expected! Please use Woodstox instead"

Проблема

Приложение, публикующее веб-сервис, построенный на axis2 (версия 1.6.2) отлично работает на Tomcat, однако на Weblogic выдает некорректный xml в ответ на запросы, например:
<ns1:Response xmlns:ns1="http://my.ns/get">
     <ns1:http://my.ns/get extension="pdf">
          <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:1.339fa79a76e9c28c028457f6d5d2336291c1c2c768ddde02@apache.org"></xop:Include>
     </ns1:http://my.ns/get>
</ns1:Response>
Т.е. вместо наименования тега (это должен был быть тег "Content") почему-то идет URL пространства имен.
При этом при старте приложения в лог пишется настораживающее:
Weblogic's StAX implementation is unsupported and some Axiom features will not work as expected! Please use Woodstox instead.
Решение

В weblogic.xml указать:
<weblogic-web-app>
 <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
</weblogic-web-app> 
Также нужно убедиться в наличии в библиотеках приложения xercesImp и xml-apis.

Комментариев нет:

Отправить комментарий