Я новичок в веб-сервисах, я хочу интегрировать веб-сервис в свой существующий веб-проект, но я смущен, как это сделать. Может ли кто-нибудь сказать мне, как это сделать?
Для моего проекта я использую:
- Spring Framework
- Hibernate
- Основанный на Pojo (не используя ant builder, hibernate.cfg.xml)
- Eclipse,
Предположим, у меня есть класс SecurityDepositServiceImpl, который содержит функцию getTenderTitleForSecurityDeposit(), а затем как я делаю для этого веб-сервис?
Ответ 1
Быстрый способ реализации веб-службы следующий:
-
Убедитесь, что для вашего веб-сервера доступны следующие банки:
JAXWS-rt.jar; JAXB-impl.jar; streambuffer.jar; policy.jar; JAXWS-api.jar; StAX-ex.jar; gmbal-апи-only.jar; управление-api.jar
-
Создайте файл "sun-jaxws.xml" в папке WEB-INF и заполните его следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
<endpoint
implementation="com.foo.ws.MyWebServiceClass"
name="MyServices"
url-pattern="/ws/theUrlILikeTheMost"
/>
</endpoints>
- Добавьте в свой web.xml следующий фрагмент:
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>WebServices</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebServices</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
- Создайте класс com.foo.ws.MyWebServiceClass и отметьте, что вам нравится:
@WebService(serviceName="MyServices")
public class MyWebServiceClass extends SpringBeanAutowiringSupport {
@WebMethod
public List<String> myMethodExposed(String username) {
List<String> toret = new ArrayList<String>();
toret.add("Hello world");
toret.add("Life id beautiful");
return toret;
}
}
et voila: ваш веб-сервис готов.