Когда использовать wsgen? - PullRequest
4 голосов
/ 06 апреля 2011

Я сейчас читаю на JAX-WS.

Я успешно построил службы JAX-WS RI, используя Eclipse и вручную. Оба подхода используют apt. После развертывания моего приложения на сервере приложений через Eclipse или создания войны (с или без sun-jaxws.xml, в зависимости от того, какой контейнер используется) и развертывания его вручную, среда выполнения JAX-WS генерирует соответствующий WSDL автоматически.

Когда полезно использовать wsgen?

1 Ответ

5 голосов
/ 06 апреля 2011

wsgen генерирует классы-оболочки ответа и запроса и, как вы заметили, может генерировать WSDL.Некоторые контейнеры, такие как CXF, вообще не требуют этих классов-оболочек - они генерируют их на лету.Или, возможно, вы создали их для себя, или, я думаю, apt.

Эта ссылка иллюстрирует.

RI JAX-WS предоставляет некоторые подходящие фабрики и рекомендуетзапуск APT для генерации некоторого кода.

На самом деле, я думаю, что http://jax -ws.java.net / nonav / 2.1.1 / docs / jaxws-tools.html # mozTocId344067 может быть золотым стандартом ответа на ваш первоначальный вопрос.

Небольшое расширение: JAX-WS (стандарт) и JAX-WS (эталонная реализация) - две разные вещи.Если вы используете RI, встроенный в Java 1.6, или Metro, или CXF, или что-то еще, вы столкнетесь с другими инструментами и требованиями.Например, в CXF для службы java-first вам вообще не нужно запускать какие-либо инструменты.

Генерация wsdl из командной строки может быть полезна, если вам нужно отправить ее кому-то другому, и вам не хочется запускать службу и использовать? Wsdl API.

Стандартне требует использования каких-либо инструментов, но стандарт позволяет стандартной реализации использовать инструменты.Уф!

...