2011-07-05 110 views
3

我是Web服务新手,我想将Web服务集成到我现有的Web项目中,但我很困惑如何去做。任何人都可以告诉我该怎么做?如何将Web服务集成到现有的Web项目中?

我的项目,我使用:

  • Spring框架
  • 休眠
  • 基于POJO的(不使用Ant构建,hibernate.cfg.xml中)
  • 的Eclipse

假设我有包含getTenderTitleForSecurityDeposit()函数的SecurityDepositServiceImpl类,那么我如何为此做Web服务?

+1

你想调用另一个webservice或_provide_一个webservice吗? –

+0

您还没有说过要使用什么Web服务框架 Java Web服务框架允许将Web服务端点部署为servlet – Cratylus

回答

4

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

  • 确保以下jar文件将提供给你的webapp: JAXWS-rt.jar中; JAXB - impl.jar文件; streambuffer.jar; policy.jar; JAXWS-api.jar文件; STAX-ex.jar; gmbal-API-only.jar;管理-api.jar中

  • 你的WEB-INF文件夹中创建一个 “太阳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-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; 
    } 
} 

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

+0

嗨Sampisa,感谢您的重播您的建议非常适合我。但是现在我遇到麻烦了,我正在使用向DAO呼叫的服务;当我测试这个Web服务时,它运行良好,但是在我呼叫DAO的线路上,它无法识别DAO。是否有任何额外的配置通过服务类来定位DAO? – Balasaheb

+0

你好,你的意思是“它不能识别DAO”?你如何定义它? – Sampisa

+0

我实际上考虑创建第二个StackOverflow帐户,以便我可以两次提高您的答案。 –

相关问题