Клиент веб-сервиса в JBoss - PullRequest
0 голосов
/ 05 июля 2011

У меня есть приложение, развернутое в JBoss (5.1.0.GA), которое содержит клиент веб-службы. Библиотека, которая выполняет вызовы веб-службы, была предоставлена ​​в виде скомпилированного JAR-файла, поэтому я не могу вносить какие-либо изменения в ее реализацию. Я работаю с AXIS 1.4, и все хорошо работает вне JBoss. После развертывания и попытки выполнить операцию, которая вызывает вызов веб-службы, я получаю следующее исключение:

javax.xml.soap.SOAPException: Невозможно создать фабрику сообщений для SOAP: org.jboss.ws.core.soap.MessageFactoryImpl нельзя преобразовать в javax.xml.soap.MessageFactory

Могу ли я внести изменения в конфигурацию моего приложения, чтобы запретить ему использовать реализацию saaj, предоставляемую JBoss? Я хочу попытаться избежать внесения изменений на уровне сервера, поскольку там развернуто несколько других приложений, с которыми я не хочу связываться.

1 Ответ

0 голосов
/ 07 июля 2011

В Jboss 5 у вас есть возможность создать пользовательский файл загрузки классов, jboss-classloading.xml для вашего развертываемого ресурса. Поэтому, если ваш скомпилированный jar-файл упакован внутри вашего WAR / EAR, вы можете указать JBoss использовать реализацию saaj в этом jar-файле, а не библиотеку сервера. Эта статья довольно хорошо описывает, как это работает:

http://phytodata.wordpress.com/2010/10/21/demystifying-the-jboss5-jboss-classloading-xml-file/

...