如何将Web服务集成到现有的Web项目中?


问题内容

我是Web服务的新手,我想将Web服务集成到现有的Web项目中,但是我对如何做感到困惑。谁能告诉我该怎么做?

对于我的项目,我正在使用:

*Spring frame

*Hibernation

*Based on POJO (without ant generator hibernate.cfg.xml )

*Solar eclipse

假设我有包含getTenderTitleForSecurityDeposit()函数的SecurityDepositServiceImpl类,那么我该如何进行Web服务?


问题答案:

以下是一种实现Web服务的快速方法:

  • 确保以下jar文件可用于您的Web应用程序:jaxws-rt.jar; jaxb-impl.jar; streambuffer.jar; policy.jar; jaxws-api.jar; stax-ex.jar; gmbal-api-only.jar; 管理api.jar

  • 在您的WEB-INF文件夹上创建一个“ sun-jaxws.xml”文件,并将其填充以下内容:

     <?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-
 classcom.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-
 class
         </listener

         <servlet
             <servlet-nameWebServices</servlet-name
             <servlet-
 classcom.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class
             <load-on-startup1</load-on-startup
         </servlet

         <servlet-mapping
             <servlet-nameWebServices</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;
         }
     }

等:您的Web服务已准备就绪。