Почему GlassFish и JBoss представляют разные WSDL? - PullRequest
1 голос
/ 12 октября 2010

У меня есть веб-сервис, построенный на Java и развернутый на двух серверах приложений с именами «GlassFish» и «JBoss».теперь, когда мы получаем WSDL от них, каждый сервер приложений создает свой формат WSDL, этот инструмент .NET wsdl.exe генерирует разные объектные модели и прокси-классы.поэтому я не могу использовать одни и те же клиентские коды .NET для вызова обеих веб-служб сервера приложений.в чем дело?что мне делать?

Спасибо.

Ответы [ 2 ]

1 голос
/ 12 октября 2010

Возможно, реализации JAX-WS и JAXB различны, поэтому дают разные результаты.У вас есть два варианта:

  • быть WSDL-первым.Создайте свой WSDL и используйте его как основу своих услуг.Будет трудно перейти к этой парадигме, хотя
  • Замените соответствующие jars (jax-ws / jaxb) на одном из серверов приложений на другие с серверов приложений.Желательно не заменять их централизованно, а настроить сервер приложений для использования новых (например, на glassfish их нужно указать endorsed)

В конечном счете, я думаю, что будет разумно использоватьтолько один сервер приложений.Может возникнуть множество подобных проблем.

0 голосов
/ 12 октября 2010

Могу поспорить, что одна работает с библиотеками Axis1, а другая использует Axis2, проверьте, что в wsdl сгенерирована используемая ими спецификация wsdl (посмотрите на пролог, часть в начале wsdl).

Кстати, вам следует детально изучить спецификации wsdl, ваш сценарий выходит за рамки ваших теоретических знаний.

http://www.w3.org/TR/wsdl

http://www.w3.org/TR/wsdl20/

...