使用Axis2,spring开发jax-ws的配置

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/开头的路径请求。

<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</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)

<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener">
<parameter name="port">8080</parameter>
</transportReceiver>

<transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener">
<parameter name="port">8443</parameter>
</transportReceiver>


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

public class MyServiceImpl extends SpringBeanAutowiringSupport implements MyService {

@Autowired
private MyBusiness myBusiness;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值