Сбой Axis2 в wsdl2java на веб-сервисах в стиле RPC / Encoded

Открыть вкладку модулей (нажмите Ctrl + Shift + Alt + S). У меня было два модуля по одному проекту. Я решил проблему после удаления второго избыточного модуля (см. Снимок экрана).

11
задан Andrey Adamovich 3 September 2009 в 13:31
поделиться

5 ответов

Я обнаружил только 3 варианта, которые можно использовать в Java для старых rpc / закодированных веб-сервисов:

1) Эталонная реализация JAX-RPC от SUN ( wscompile )

2) WebLogic clientgen (я использовал версию 8.1)

3) Axis1 v1.4 wsdl2java

Первоначально для этого мы использовали Axis 1.4 и это показал довольно низкую производительность на относительно больших ответах службы (> 20k), т.е. время обработки клиента увеличилось более чем в два раза по сравнению с обычным HTTP-запросом без разбора. И время увеличивается, если отклик становится больше. На то, чтобы просто десериализовать большой отклик размером 1 МБ, потребовалось более 30 секунд.

Клиент, созданный SUN, на самом деле не работал, и он не работал по запросу с сообщением:

unexpected element name: 
   expected=getSubscriberInfoReturn, 
   actual={ws.generated.api}getSubscriberInfoReturn

Я попытался использовать clientgen WebLogic 8.1 и сравнил клиентский код с Axis 1 . 4 сгенерированных клиентских производительности. И Axis выиграла гонку. Таким образом, даже несмотря на то, что клиент Axis не так хорошо работает с относительно большими ответами, он по-прежнему является лучшим вариантом для старых веб-сервисов с rpc / кодированием: (.

9
ответ дан 3 December 2019 в 08:05
поделиться

Попробуйте ось 1, я использовал ее именно по этой причине.

1
ответ дан 3 December 2019 в 08:05
поделиться

У меня тоже были проблемы с SimpleDataBinding на оси 2. Я решил их, используя Параметр AxisDataBinding. Что немного тяжелее с точки зрения кодирования, но в конце концов работает.

Подробнее об ADB

Кроме того, я бы согласился с Робертом, заявив, что ось1 тоже интересный вариант.

1
ответ дан 3 December 2019 в 08:05
поделиться

Я не буду вдаваться в подробности этого, но, поскольку вы просили альтернативы:

Java 6 SE и Java 5 EE поставляются с Metro JAX-WS (справочная) реализация.

Он находится в пространстве имен javax.xml.ws .

В сети разработчиков Sun есть статья Введение в JAX-WS 2.0 с платформой Java SE 6 , что может быть полезно.

С учетом всего вышесказанного, Eclipse не очень JAX-WS .

0
ответ дан 3 December 2019 в 08:05
поделиться

Кодирование RPC не поддерживается в Axis2. Источник: http://wiki.apache.org/ws/StackComparison

4
ответ дан 3 December 2019 в 08:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: