Создание Web-сервиса в Java

Новости IT

Рассмотрим пример создания простого WEB-сервиса. Инструментов для создания WEB-сервисов в Java достаточно много, мы же будем использовать XFire. XFire — это Java SOAP фреймфорк, быстрый, расширяемый и т.д. Что для нас сейчас важно, так это то, что создать WEB-сервис «с нуля» можно достаточно просто.
Наш WEB-сервис будет совсем простой, а именно, будет иметь один метод без параметров и возвращать строку, например, «Привет — это WEB-сервис»
Для начало нужно подготовить инфраструктуру проектов, как описано в предыдущей статье -«Создание проектов с помощью maven».
Определим интерфейс (HelloService) и реализацию (HelloServiceImpl) сервиса в проекте SimpleLogic, разместим их в пакете com.dom.ws

HelloService.java

package com.dom.ws;

public interface HelloService {
public String getHello();
}

HelloServiceImpl.java

package com.dom.ws;

public class HelloServiceImpl implements HelloService {

public String getHello() {
return «Привет — это WEB-сервис!»;
}

}
В файл SimpleWEB\pom.xml добавим зависимости XFire

org.codehaus.xfire
xfire-jaxb2
1.1.1

org.codehaus.xfire
xfire-spring
1.1.1

org.codehaus.xfire
xfire-java5
1.1.1

Настроим XFire на публикацию нашего сервиса в виде WEB-сервиса.
Создаем папку SimpleWEB\src\main\resources\META-INF\xfire и в ней файл services.xml следующего содержания:

HelloService
http://localhost/HelloService
com.dom.ws.HelloService
com.dom.ws.HelloServiceImpl

Настроим обработчики Xfire в SimpleWEB\src\main\webapp\WEB-INF\web.xml. Полный текст web.xml
PUBLIC «-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN»
«http://java.sun.com/dtd/web-app_2_3.dtd»>

XFireServlet
XFire Servlet

org.codehaus.xfire.transport.http.XFireConfigurableServlet

XFireServlet
/servlet/XFireServlet/*

XFireServlet
/services/*

Сервис написан, Xfire сконфигурирован. Собираем проект. В каталоге ${work}\parent выполняем комманду:
mvn package
Установим наше приложение в Tomcat. Приложение находится здесь — SimpleWEB\target\SimpleWEB.war
Доступ к WEB-сервису можно получить по следующему адресу «http://localhost:8080/SimpleWEB/services/HelloService?WSDL»