Показаны сообщения с ярлыком SOAP. Показать все сообщения
Показаны сообщения с ярлыком SOAP. Показать все сообщения

Создание JAX-WS веб-сервиса с MTOM на Eclipse и Tomcat

Сначала нужно установить систему сборки и сервер:
$ brew install maven
$ brew install tomcat

Далее можно вручную создать проект:
$ cd ~/Documents/Projects/
$ mvn archetype:generate -DgroupId=com.blogspot.devtype -DartifactId=ImageWebService -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

Однако, Я воспользуюсь Eclipse IDE for Java EE Developers (инструкция по установке: Installing Eclipse on Mac OS X). Создаем проект веб-сервиса по инструкции: JAX-WS Web Services On Tomcat | Examples Java Code Geeks.

Далее добавим в Tomcat зависимости JAX-WS:
http://repo.maven.apache.org/maven2/com/sun/xml/ws/jaxws-ri/2.2.8/jaxws-ri-2.2.8.zip

$ cd /usr/local/Cellar/tomcat/7.0.52/libexec/lib
$ cp ~/Downloads/jaxws-ri/lib/gmbal-api-only.jar ./
$ cp ~/Downloads/jaxws-ri/lib/jaxb-impl.jar ./
$ cp ~/Downloads/jaxws-ri/lib/jaxws-api.jar ./
$ cp ~/Downloads/jaxws-ri/lib/jaxws-rt.jar ./
$ cp ~/Downloads/jaxws-ri/lib/management-api.jar ./
$ cp ~/Downloads/jaxws-ri/lib/policy.jar ./
$ cp ~/Downloads/jaxws-ri/lib/stax-ex.jar ./
$ cp ~/Downloads/jaxws-ri/lib/streambuffer.jar ./
$ cp ~/Downloads/jaxws-ri/lib/ha-api.jar ./
$ cp ~/Downloads/jaxws-ri/lib/jaxb-core.jar ./

$ /usr/local/Cellar/tomcat/7.0.52/bin/catalina run

Проверяем работоспособность веб-сервиса: http://localhost:8080/JAX-WS-Tomcat/sayhello

$ /usr/local/Cellar/tomcat/7.0.52/bin/catalina stop

Далее по руководству http://www.mkyong.com/webservices/jax-ws/jax-ws-attachment-with-mtom/#reference доработаем веб-сервис до MTOM функционала.



Веб-сервисы в Java

Веб-сервис - это приложение предоставляющее функционал клиенту. Клиентами могут быть как обычные веб-браузеры так и стандартные приложения. Связь между клиентом и сервисом устанавливается посредством стандартных протоколов, которые обеспечивают подключение к endpoint-ам сервисов. Endpoint - это специальный адрес, используемые для того чтобы получить  доступ к веб-сервису.
С точки зрения Java веб-сервисы можно разделить на две категории:
  1. Java API for XML Web Services (JAX-WS) - основаны на XML и Simple Object Access Protocol (SOAP). Возможности сервиса публикуются на Web Services Description Language (WSDL). Поддерживаются типы сервисов на основе сообщений и на основе RPC. Этот подход более сложный чем следующий, но он окупается поддержкой транзакций и обеспечением большей безопасности. 
  2. JAX-RS - Representational State Transfer или RESTful веб-сервисы. Этот подход применим для простых приложений не предъявляющих высоких требований. Отлично подходит для stateless-сервисов без фиксации состояния (служба в которой содержатся данные только для чтения; антоним statefull service). Можно наладить кэширование для достижения высокой производительности.