Java API for XML Based Web Services (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
[править | править код]- GlassFish Metro (эталонная реализация JAX-WS, или JAX-WS Reference Implementation)
- Apache Axis2
- Apache CXF
- JBossWS Native
Ссылки
[править | править код]Примечания
[править | править код]- ↑ JSR 224, Java API for XML Web Services 2.0 (англ.)
- ↑ JSR 181, Web Services Metadata for the JavaTM Platform [1] Архивная копия от 14 марта 2012 на Wayback Machine