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). Поддержка . Возможность выбора между двумя путями разработки: «снизу вверх» (программист разрабатывает endpoint-классы сам) и «сверху вниз» (Java-классы генерируются по WSDL).
Аннотации JAX-WS использует аннотации, описанные в JSR 181JSR 181, Web Services Metadata for the JavaTM Platform , для отображения 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
Ссылки GlassFish Metro JAX-WS Axis2 JAX-WS Guide
Примечания
Категория:Java Enterprise Edition