Подтвердить что ты не робот

Лучший способ использовать RPC/encoded webservice?

Мне нужно использовать веб-службу WSDL старой школы RPC/encoded для моего бэкэнда. Сначала я пытался использовать Apache CXF и JAX-WS для этого, но инструмент JAX-WS wsimport не питается rpc/enoded WSDL.

[ERROR] rpc/encoded wsdls не поддерживаются в JAXWS 2.0.

Я также сомневаюсь в использовании JAX-RPC для этой работы, потому что она устарела. Axis 1.4 - инструмент 5 лет.

В настоящее время я вижу эти три варианта:

  • использовать JAX-WS javax.xml.ws.Dispatch для отправки и получения SOAP и как-то его анализировать, один пример
  • используйте JAX-RPC и получите плохую карму для использования устаревшей технологии,
  • сделайте все это вручную и ненавидя себя позже.

Ни один из них не звучит слишком хорошо, поэтому я был бы признателен, если бы вы могли дать хорошие результаты, подумали, что делать и как его решить.

4b9b3361

Ответ 1

UPDATE

Мое дело было решено с помощью редактирования вручную WSDL от закодированного до literal (в основном под операциями ввода и вывода use="literal" была единственная замена), а затем я мог генерировать заглушки с Apache CXF. Это можно сделать, потому что конечная точка не анализировала точно RPC/кодировку и RPC/закодированный spec XML не мог быть проверен против WSDL).

Хотя Axis 1.4 может работать для вас, использование Apache CXF с этим небольшим взломом WSDL может быть лучшим способом.


[Старый ответ]

Для справки - на этот раз я решил использовать JAX-RPC и Axis 1.4. Я создавал клиентский код и, надеюсь, может заменить его реализацией JAX-WS при обновлении службы.