Как интегрировать веб-сервис в существующий веб-проект? - PullRequest
3 голосов
/ 05 июля 2011

Я новичок в веб-сервисах, хочу интегрировать веб-сервис в свой существующий веб-проект, но я не совсем понимаю, как это сделать. Может кто-нибудь сказать мне, как это сделать?

Для своего проекта я использую:

  • Spring Framework
  • Hibernate
  • на основе Pojo (без использования ant builder, hibernate.cfg.xml)
  • Затмение

Предположим, у меня есть класс SecurityDepositServiceImpl, который содержит функцию getTenderTitleForSecurityDeposit (), тогда как мне сделать для этого веб-сервис?

1 Ответ

4 голосов
/ 06 июля 2011

Быстрый способ реализации веб-службы следующий:

  • Убедитесь, что для вашего веб-приложения будут доступны следующие jar-файлы: jaxws-rt.jar;JAXB-impl.jar;streambuffer.jar;policy.jar;JAXWS-api.jar;StAX-ex.jar;gmbal-апи-only.jar;management-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;
    }
}

и вуаля: ваш веб-сервис готов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...