JAX-WS 与 Spring 集成

本文介绍的webservice是建立在与spring集成的条件下【jdk自带的webservices会占用一个独立的端口,通过这个方法配置不需要】

1、修改WEB.XML文件,在spring的监听器配置之后加上如下内容

复制代码
<servlet>
  <servlet-name>JAXWSServlet</servlet-name>
  <servlet-class>
   com.sun.xml.ws.transport.http.servlet.WSSpringServlet
  </servlet-class>
  <load-on-startup>5</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>JAXWSServlet</servlet-name>
  <url-pattern>/getNameWS</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>JAXWSServlet</servlet-name>
  <url-pattern>/getCountWS</url-pattern>
 </servlet-mapping>
复制代码

这里创建了2个webservices,访问路径是http://xxx:xxx/xxx/getNameWS?wsdl 和 http://xxx:xxx/xxx/getCountWS?wsdl

 

2、编写webservice实现类

复制代码
@WebService
@Component
public class GetNameWSImpl{
     @Resource
     private XXDao xxDao;

    @WebMethod
   public XXVO searchName(String id) throws Exception {
      XXVO returnVO 

     try {
          returnVO  = xxDao.xxx(id);
       } catch (Exception e) {
       e.printStackTrace();
       throw new Exception("webservice内部异常");
     }
    return returnVO;
  }
}
复制代码

3、spring配置文件里添加如下内容

复制代码
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ws="http://jax-ws.dev.java.net/spring/core"
 xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"
 xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://jax-ws.dev.java.net/spring/core
http://jax-ws.dev.java.net/spring/core.xsd
http://jax-ws.dev.java.net/spring/servlet
http://jax-ws.dev.java.net/spring/servlet.xsd">


 <wss:binding url="/getNameWS">
  <wss:service>
   <ws:service bean="#getNameWSImpl" /> <!--注入实现类-->
  </wss:service>
 </wss:binding>

</beans> 
复制代码

 

需要添加的jar包有:gmbal-api-only.jar/jaxb-impl.jar/jaxws-api.jar/jaxws-rt.jar/jaxws-spring-1.8.jar/management-api.jar/policy.jar/stax-ex.jar/streambuffer.jar/xbean-spring-3.0.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值