Как исключить загрузку библиотек jbossws (в Jboss 5.1.x common/lib) моим проектом?

Я использую JBoss 5.1.0GA, в котором файлы jbossws находятся в папке common/lib. Мой проект основан на подключении к сторонней системе (через веб-сервисы). Обработчики шифрования и дешифрования были доставлены мне в виде файла jar, и, глядя на файл jar, pom имеет зависимость от библиотек оси. У нас есть wsdd, указывающий нашему клиенту на правильный EncryptionHandler.

Проблема в том, что когда мы пытаемся сделать запрос к веб-службе, EncryptionHandler выдает следующую ошибку:

Вызвано: java.lang.ClassCastException: org.jboss.ws.core.soap.SOAPMessageImpl не может быть приведен к org.apache.axis.Message 10:06:15,935 ОШИБКА [STDERR] в org.apache.axis.MessageContext.setMessage (MessageContext.java:648)

Похоже, что когда EncryptionHandler пытается создать сообщение, используется библиотека jbossws, а не библиотека Axis, которая включена в наш pom (а также в библиотеку сервера в jboss).

Как я могу остановить проект, собирающий банку jbossws, и вместо этого использовать ось? у нас нет jbossws как зависимости в файле pom.


person rainyday    schedule 09.12.2010    source источник


Ответы (1)


Вы должны иметь возможность развернуть библиотеку Axis в $JBoss_Home\lib\endorsed\, которая затем будет иметь приоритет над библиотеками JBoss. Хотя могут быть и другие побочные эффекты, в зависимости от того, какие другие функции, связанные с JBoss WS, используются.

person AndrewE    schedule 05.04.2011