1. 到官网下载axis2项目,地址:http://axis.apache.org/axis2/java/core/download.cgi
2. 下载后解压,解压位置:E:\axis2-1.6.3-bin,项目包里包含所有axis2用到的jar包及页面文件。
3. 在eclipse已有的web项目(例如:demo)中引入axis2,把需要的jar包引入项目中,如图:
4. 把axis2解压文件E:\axis2-1.6.3-bin\axis2-1.6.3\webapp下的axis2-web文件包放入demo项目WebContent文件夹下(eclipse为WebContent,myeclipse为WebRoot)。axis2-web下的页面便于通过浏览器查看已发布服务。
5. 在web.xml文件中添加以下servlet.
<servlet>
<servlet-name>AxisServlet</servlet-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>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>inc</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>/axis2-web/index.jsp</welcome-file>
</welcome-file-list>
6. 在项目中新建MyService.java类,为服务器端代码,如图:
7. 把E:\axis2-1.6.3-bin\axis2-1.6.3加入环境变量中,方便在cmd中使用java2wsdl,wsdl2java。如图:
把bin、lib加入path中,如图:
8. 进入demo项目的src目录,执行java2wsdl命令,执行完毕,会在当前目录下生成MyService.wsdl文件。为服务器端service描述文件,即wsdl.如图:
刷新项目,可以在项目结构中看到,如图:
9. 进入刚才生成wsdl文件目录,即src目录,用wsdl2java命令生成客户端java文件,如图。
命令执行完毕,会在当前目录生成一个src包,里面包含2个java文件,刷新项目,可在项目结构中看到,如图;
,可根据项目需要调整2个文件的包位置,我的2个文件移到webservice包中了。在程序中使用客户端类,调用MyServiceStub.java类即可。
10. 发布服务,利用services.xml配置文件进行发布
11. 新建TestMyServiceServlet.java测试类,需要在web.xml配置一个servlet,在此就不配图了,下图为测试类:
记得检查一下生成的客户端类访问服务端地址与实际服务器地址是否一致,如图:
备注:为项目部署根目录,
为services.xml配置文件中的服务名,如图:
12. 启动tomcat,测试已发布的服务,在浏览器中访问测试类:
输出结果即成功了。
至此,一个客户端访问服务端的webservice就建立成功了。