суббота, 2 мая 2009 г.

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

Рассмотрим пример создания простого WEB-сервиса. Инструментов для создания WEB-сервисов в Java достаточно много, мы же будем использовать XFire. XFire - это Java SOAP фреймфорк, быстрый, расширяемый и т.д. Что для нас сейчас важно, так это то, что создать WEB-сервис "с нуля" можно достаточно просто.
Наш WEB-сервис будет совсем простой, а именно, будет иметь один метод без параметров и возвращать строку, например, "Привет - это WEB-сервис"

  1. Для начала нужно подготовить инфраструктуру проектов, как описано в предыдущей статье -"Создание проектов с помощью maven".


  2. Определим интерфейс (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-сервис!";
    }

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

    <dependency>
    <groupId>org.codehaus.xfire</groupId>
    <artifactId>xfire-jaxb2</artifactId>
    <version>1.1.1</version>
    </dependency>
    <dependency>
    <groupId>org.codehaus.xfire</groupId>
    <artifactId>xfire-spring</artifactId>
    <version>1.1.1</version>
    </dependency>
    <dependency>
    <groupId>org.codehaus.xfire</groupId>
    <artifactId>xfire-java5</artifactId>
    <version>1.1.1</version>
    </dependency>
  4. Настроим XFire на публикацию нашего сервиса в виде WEB-сервиса.
    Создаем папку SimpleWEB\src\main\resources\META-INF\xfire и в ней файл services.xml следующего содержания:
    <beans xmlns="http://xfire.codehaus.org/config/1.0">
    <service>
    <name>HelloService</name>
    <namespace>http://localhost/HelloService</namespace>
    <serviceClass>com.dom.ws.HelloService</serviceClass>
    <implementationClass>com.dom.ws.HelloServiceImpl</implementationClass>
    </service>
    </beans>
  5. Настроим обработчики Xfire в SimpleWEB\src\main\webapp\WEB-INF\web.xml. Полный текст web.xml
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    <servlet>
    <servlet-name>XFireServlet</servlet-name>
    <display-name>XFire Servlet</display-name>
    <servlet-class>
    org.codehaus.xfire.transport.http.XFireConfigurableServlet
    </servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/servlet/XFireServlet/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
    </web-app>
  6. Сервис написан, Xfire сконфигурирован. Собираем проект. В каталоге ${work}\parent выполняем комманду:
    mvn package
  7. Установим наше приложение в Tomcat. Приложение находится здесь - SimpleWEB\target\SimpleWEB.war
  8. Доступ к WEB-сервису можно получить по следующему адресу "http://localhost:8080/SimpleWEB/services/HelloService?WSDL"


Скачать файл с проектом

Ссылки:
XFire - быстрый старт
XFire + Maven

Комментариев нет:

Отправить комментарий