Java API for XML Based Web Services


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

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

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

Аннотации

JAX-WS использует аннотации, описанные в JSR 181, для отображения 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

  • GlassFish Metro (эталонная реализация JAX-WS, или JAX-WS Reference Implementation)
  • Apache Axis2
  • Apache CXF
  • JBossWS Native





Яндекс.Метрика