Eclipse使用Axis2,spring开发jax-ws(webservice)的配置讲解

Eclipse使用Axis2,Spring开发jax-ws(webservice)的配置讲解:

   jax-ws是java web service的标准规范,jdk本身就自带了API。但是如果要部署到服务器上的话,还需要一款实现。目前实现有metro(jax-ws ri), axis2, cxf。因为最近用到axis2,所以研究了一下axis2开发jax-ws的方法。编码我就不说了,遵循jax-ws规范就ok了。本文主要介绍一下axis2的配置。
    其实没啥好说的,官网文档已经说明了http://axis.Apache.org/axis2/java/core/docs/servlet-transport.html
这里简单翻译一下。

1.web.xml的配置
首先配置AxisServlet来接受所有的以services/开头的路径请求。
 

Xml代码
  1. <servlet>  
  2.     <servlet-name>AxisServlet</servlet-name>  
  3.     <display-name>Apache-Axis Servlet</display-name>  
  4.     <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>  
  5.     <load-on-startup>1</load-on-startup>  
  6. </servlet>  
  7. <servlet-mapping>  
  8.     <servlet-name>AxisServlet</servlet-name>  
  9.     <url-pattern>/services/*</url-pattern>  
  10. </servlet-mapping>  


要注意的是url-pattern设置的路径前缀必须和axis2.xml文件中的servicePath参数一致。默认值为services,所以配成如上路径就不用改axis2.xml了。

2.axis2.xml当然要拷贝到WEB-INF目录下,服务器启动时会读取此文件。

3.就这么简单,然后就ok了。启动服务器比如Tomcat,访问http://localhost:8080/xx/services/XxService?wsdl就能看到wsdl,后面的开发方式和规范的jax-ws并无二异。

4.如果要支持https,需要改axis2.xml,配置上端口(比如tomcat里配置的8080给http,8443给https)
 

Xml代码
  1. <transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener">  
  2.     <parameter name="port">8080</parameter>  
  3. </transportReceiver>  
  4.   
  5. <transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener">  
  6.     <parameter name="port">8443</parameter>  
  7. </transportReceiver>  



5.如果要集成spring,你的web service必须继承SpringBeanAutowiringSupport,这一点很重要,不继承的话会发现其他bean怎么也注入不了,急的双脚跳。
 

Java代码
  1. public class MyServiceImpl Extends SpringBeanAutowiringSupport implements MyService {  
  2.   
  3.      @Autowired  
  4.      private MyBusiness myBusiness;  
  5. }  


如此其他bean(这里是MyBusiness)就能自动装配进我们的web service了。
具体可以参考spring3.1文档的20.5小节,Web services

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值