java - 如何在现有的Web 项目中集成Web 服务?

标签 java web-services spring-mvc

我是 Web 服务的新手,我想将 Web 服务集成到我现有的 Web 项目中,但我不知道该怎么做。谁能告诉我怎么做?

对于我正在使用的项目:

  • Spring 框架
  • hibernate
  • 基于 Pojo(不使用 ant builder、hibernate.cfg.xml)
  • eclipse

假设我有包含 getTenderTitleForSecurityDeposit() 函数的 SecurityDepositServiceImpl 类,那么我该如何为它提供网络服务?

最佳答案

实现 Web 服务的快速方法如下:

  • 确保以下 jar 可用于您的网络应用程序: jaxws-rt.jar; jaxb-impl.jar;流缓冲.jar;策略.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-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 服务已准备就绪。

关于java - 如何在现有的Web 项目中集成Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585948/

相关文章:

java - infinispan 配置 xml 错误

Java Lejos 自主 NXJ 机器人线程造成麻烦

java - Hadoop MapReduce输出最大

javascript - 使用 jquery 调用外部 Web 服务

java - Ajax 调用中的未定义错误

java - 如何阻止 jbossshrinkwrap 远程解决依赖关系?

java - Grails 和消费 SOAP 网络服务

java - wsimport 客户端 - 自定义多个包名

java - Spring - 获取所有可解析的消息键

spring - @Service 被构造了两次