Создание Web-сервиса в Java
Раздел:
Programming /
Java
@
21.05.2009 |
Ключевые слова: java сервис
Автор: SmoggIT
Источник: http://smoggit.blogspot.com
Рассмотрим пример создания простого 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
<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>
- Настроим XFire на публикацию нашего сервиса в виде WEB-сервиса.
Создаем папку SimpleWEB\src\main\resources\META-INF\xfire и в ней файл services.xml следующего содержания:
<beans xmlns="http://www.rusdoc.ru/go.php?http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloService</name>
<namespace>http://www.rusdoc.ru/go.php?http://localhost/HelloService</namespace>
<serviceClass>com.dom.ws.HelloService</serviceClass>
<implementationClass>com.dom.ws.HelloServiceImpl</implementationClass>
</service>
</beans>
- Настроим обработчики 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://www.rusdoc.ru/go.php?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>
- Сервис написан, Xfire сконфигурирован. Собираем проект. В каталоге ${work}\parent выполняем комманду:
mvn package
- Установим наше приложение в Tomcat. Приложение находится здесь - SimpleWEB\target\SimpleWEB.war
- Доступ к WEB-сервису можно получить по следующему адресу "http://www.rusdoc.ru/go.php?http://localhost:8080/SimpleWEB/services/HelloService?WSDL"
Скачать файл с проектом
Вернуться в раздел:
Programming /
Java