Java API for XML Based Web Services

Java API for XML Web Services (JAX-WS) — это прикладной программный интерфейс языка Java для создания веб-служб, являющийся частью платформы Java EE. JAX-WS является заменой технологии JAX-RPC, предоставляя более документо-ориентированную модель сообщений и упрощая разработку[1] веб-служб за счёт использования аннотаций, впервые появившихся в Java SE 5. Технология JAX-WS является стандартом и описана в JSR 224.

Преимущества JAX-WS

  • Использование аннотаций устраняет необходимость создания дескрипторов веб-служб. Декларация конечных точек (endpoints) происходит непосредственно в классах Java.
  • Прямая интеграция с JAXB 2.0.
  • Внедрение ресурсов (Resource injection).
  • Поддержка MTOM.
  • Возможность выбора между двумя путями разработки: «снизу вверх» (программист разрабатывает endpoint-классы сам) и «сверху вниз» (Java-классы генерируются по WSDL).

Аннотации

JAX-WS использует аннотации, описанные в JSR 181[2], для отображения POJO классов на WSDL. Среди них:

  • @WebService — указывает на то, что Java класс (или интерфейс) является веб-службой.
  • @WebMethod — позволяет настроить то, как будет отображаться метод класса на операцию веб-службы.
  • @WebParam — позволяет настроить то, как будет отображаться конкретный параметр операции на WSDL-часть (part) и XML элемент.
  • @WebResult — позволяет настроить то, как будет отображаться возвращаемое значение операции на WSDL-часть (part) и XML элемент.
  • @Oneway — указывает на то, что операция является односторонней, то есть не имеет выходных параметров.
  • @SOAPBinding — позволяет настроить то, как будет отображаться веб-служба на протокол SOAP.

Изменение названия

Первоначально технология должна была называться JAX-RPC 2.0, однако в связи с уходом от RPC-стиля к большей документо-ориентированности было принято решение изменить название на JAX-WS 2.0.

Каркасы, поддерживающие JAX-WS

Ссылки

Примечания

  1. JSR 224, Java API for XML Web Services 2.0  (англ.)
  2. JSR 181, Web Services Metadata for the JavaTM Platform Архивная копия от 14 марта 2012 на Wayback Machine