Spring与CXF整合

  1.首先引入CXF相关jar包以及spring相关jar包,因项目是maven项目,所以直接在pom.xml文件中引入以下依赖即可(以下只是CXF的依赖包,Spring的也要引入,相关的依赖参考我博客中maven项目文章)。

  <dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxws</artifactId>
    <version>3.0.9</version>
  </dependency>

  2.在web.xml配置cxf监听器

  <servlet>
    <servlet-name>cxf</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>cxf</servlet-name>
    <url-pattern>/ws/*</url-pattern>
  </servlet-mapping>

  说明:<servlet-mapping>下的<url-pattern>指明了服务访问地址的形式,“/*”代表URL地址中,包名称后直接跟服务endpoint地址,若指明<url-pattern>为/ws/*,则URL为“包名/ws/endpoint?wsdl”,endpoint地址在spring.xml文件中配置,下面会介绍。
  <!-- spring监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- spring配置文件位置 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
  </context-param>

  3.编写相关业务接口以及实现类。

  接口代码:  

  @WebService(serviceName="LanguageManager")
  public interface LanguageService {

    public @WebResult(name="language")String getLanguage(@WebParam(name="position")int position);
  }

  实现类代码: 

  public class LanguageServiceImpl implements LanguageService {

    public String getLanguage(int position) {

      return "java";
    }

  }

  4.配置spring配置文件。(引入cxf约束: http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd)  

  <bean id="languageServiceImpl" class="it.cn.ws.cxf.LanguageServiceImpl"></bean> (服务实现类)
  <!-- 配置CXF -->
    <jaxws:server address="/languageService" serviceClass="it.cn.ws.cxf.LanguageService">  (服务接口)
    <jaxws:serviceBean>
      <ref bean="languageServiceImpl"></ref> (服务实现类)
    </jaxws:serviceBean>
  </jaxws:server>

  说明:address是它的访问路径,就是上面提到的将要在URL中显示的endpoint的名称,所以服务本地访问地址就是http://localhost:8080/项目名/ws/languageService.

  5.测试Webservice 

  浏览器输入http://localhost:8080/cxf/ws/ ,可以列出项目中所有服务的地址,如下:(cxf是我的项目名称)

  

  6。也可以使用soupui工具生成本地代理进行测试。

  

  

转载于:https://www.cnblogs.com/gdpuzxs/p/5642053.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值