我之前都是用jdk自带的webservice发布接口,听PB开发人员说jdk发布的webservice PB无法调用,所以研究了下使用axis2发布接口,网上也找了不少资料,好多是要下载axis2的eclipse插件而且集成到eclipse也会碰到问题,还有就是单独部署一个axis2.war在tomcat,再把我们接口部分代码和services.xml复制到axis2.war解压包的特定目录下。这样与我们实际开发情况严重不符,我们一般是想要在我们已有的web项目中发布接口,这样接口中可以使用我们自己web工程的工具类等资源,下面我一步一步把我集成的步骤写明,如有写的有误的地方还请指教!
我使用的myeclipse8.5+jdk1.6+tomcat6开发
1.下载axis2.war 可以去apache官方下载,也可以去http://download.csdn.net/detail/qq445829096/9773633这个地址下载,我上传的为 axis2-1.7.4-war版本,目前为止为最新版本,
2.在myeclipse新建web工程,我这里工程名为Axis2Web ,工程新建后,把axis2-1.7.4-war解压开,找到这4个文件夹
把这4个文件夹复制到我们新建的web工程的WEB-INF目录下
3.接下来就是写我们要发布的服务类了
我这里在com.bsoft.ws包下面新建了TestWebService.java 并声明了2个public的方法,需要发布的方法声明完后接下来就是配置到services.xml文件了。
4.在我们项目的WEB-INF/services新建任意命名的文件夹,在新建的文件夹下在新建META-INF文件夹,最后在META-INF文件夹下新建services.xml文件.
5.接下来最后一步,把我们的TestWebService.java需要发布的方法配置到我们上一步新建的services.xml中,并配置web.xml
services.xml配置文件代码:
Web Service例子
com.bsoft.ws.TestWebService
同时web.xml 需要加上axis2的servlet配置
org.apache.axis2.transport.http.AxisServlet
6.把我们的项目打包进tomcat 启动 浏览器输入地址http://localhost:8080/Axis2Web/services/TestWebService?wsdl 我tomcat端口号为8080 ,出现如下图所示则发布成功
下面我们在浏览器访问我们发布的方法测试
http://localhost:8080/Axis2Web/services/TestWebService/sayHello
http://localhost:8080/Axis2Web/services/TestWebService/sayHelloWho?name=张三
以为第2个方法需要参入参数加上了?name=张三
axis2集成到我们自己web工程就介绍到这里,希望能帮助到刚学习axis2接口开发的人,有误之处,还请指出。