RPC / закодированная проблема Jboss - PullRequest
3 голосов
/ 19 января 2010

Я использую jboss-4.2.1.GA для генерации запросов WS.

Я создал клиент WS с помощью JWSDP-2.0 / JAXRPC. Я развернул клиент в Jboss и сейчас пытаюсь отправить запросы.

Когда я пытаюсь инициализировать службу клиента: javax.xml.rpc.Service service = servicefactory.createService(new URL(wsdlURL), serviceQN), Jboss начинает жаловаться.

Ошибка, которую генерирует Jboss:

ОШИБКА [JBossXSErrorHandler] JBossWS_targetnamespace1.com7796329154971783225.xsd [домен: http://www.w3.org/TR/xml-schema-1]::[key=src-resolve.4.2]::Message=src-resolve.4.2: Компонент разрешения ошибок 'Tns2: SimpleSerialiser. это было обнаружил, что 'tns2: SimpleSerialiser' находится в пространстве имен 'http://targetnamespace2.com', но компоненты из этого пространства имен не являются ссылка из документа схемы 'Файл: /home/jbossPath/jboss-4.2.1.GA/server/default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225.xsd. Если это неправильное пространство имен, возможно приставка 'tns2: SimpleSerialiser' должен быть изменилось. Если это правильно пространство имен, то соответствующий тег 'import' должен быть добавлен к 'Файл: /home/jbossPath/mobaq/jboss-4.2.1.GA/server/default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225.xsd'

.

С последующим предупреждением:

WARN [WSDL11Reader] Стиль кодирования «http://schemas.xmlsoap.org/soap/encoding/' не поддерживается для: {Урна: Пространство имена} Выполнитезадача * * тысяча двадцать-три

Наконец, отображается следующая ошибка:

ОШИБКА [СТДЕРР] org.jboss.ws.WSException: невозможно получить отображение типа Java для: {Урна: Пространство имен} ArrayOf_tns2_TagType ОШИБКА [STDERR] в org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildInputParameter (JAXRPCMetaDataBuilder.java:266) ... ...

Я знаю, что аналогичная ошибка была опубликована в community.jboss.org в прошлом, но для другой задачи. Я не уверен, что данный патч решит мою проблему, и я не знаю, как реализовать предоставленный патч.

В дополнение к этому я обнаружил, что у кого-то есть похожие проблемы: JAX-RPC в JBoss 4.2.3 , но предлагаемое решение не работает для меня.

Я также знаю, что JbossWS не поддерживает RPC / Encoded, но я использую jboss для своего решения. Есть ли способ для меня, чтобы обойти эту проблему, могу ли я заставить Jboss создать клиентскую службу для отправки запросов? Я не уверен, что запрос RPC / Literal WSDL-файла возможен, поэтому я и спрашиваю.

Любые предложения будут с благодарностью.

Ответы [ 2 ]

1 голос
/ 20 января 2010

http://schemas.xmlsoap.org/soap/encoding/ - это устаревший стиль, используемый очень старыми стеками веб-служб (это так плохо, даже Microsoft рекомендует против него ). Он имел серьезные недостатки и был исключен из спецификации взаимодействия WS-I , которую реализует большинство современных стеков веб-служб Java.

Единственный известный мне java-стек, который обрабатывает эту старую кодировку, - это Axis 1 , которая сама по себе имеет серьезные недостатки, но может быть вашим единственным вариантом. Вы должны иметь возможность запускать Axis как клиент изнутри JBoss.

0 голосов
/ 20 января 2010

Я наконец решил проблему, реализовав решение, предложенное из JAX-RPC в JBoss 4.2.3 post:

Чтобы перейти к погоне, я просто поставил следующееJAR из Axis 1.4 в каталоге lib моего EAR: axis.jar, axit-ant.jar, commons-discovery-0.2.jar, jaxrpc.jar, saaj.jar, wsdl4j-1.5.1.jar

Что я делал, так это помещал вышеупомянутые jar-файлы в свой собственный jar-файл WS Client, и поэтому он не работал.Решение было там, передо мной в черно-белом, и я не реализовал его должным образом.Вот в чем проблема, если слишком долго присматриваться к проблеме.

Я - наглый.

...