axis2和axis据说有些不同,因为公司项目需要,学习了一点axis2,以防以后忘记。
1、下载jar包
自己找
2、可以下载Eclipse用的插件工具,问Google
axis2-eclipse-codegen-wizard.zip
axis2-eclipse-service-archiver-wizard.zip
注意,该插件工具少了两个包backport-util-concurrent-3.1.zip,和geronimo-stax-api_1.0_spec-1.0.1.jar
导致运行出错,下载后放入Axis2_Codegen_Wizard_1.3.0\lib文件夹下,再修改plugin.xml文件,添加以下内容:
<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar"> <export name="*"/> </library> <library name="lib/backport-util-concurrent.jar"> <export name="*"/> </library>
3、将axis2的jar文件解压,里面有一个示例工程webapp,拷贝到%tomcat_home%\webapps下
4、创建一个服务
package com.sv.server; public class SimpleServer { public String simpleMethod(String name) { return name + "Say this is a Simple method ^-^"; } }
5、使用插件生成.aar文件
6、将生成的.arr文件copy到%tomcat_home%\webapps\axis\WEB-INF\services下
7、启动tomcat,访问
http://localhost:8080/axis2/services/listServices
可以看见可用的WebService,
http://localhost:8080/axis2/services/simpleServer?wsdl
为描述文件
8、根据
http://localhost:8080/axis2/services/simpleServer?wsdl
使用插件生成客户端代码SimpleServerStub.java和SimpleServerCallbackHandler.java
9、调用服务
package com.sv.server; import java.rmi.RemoteException; import org.apache.axis2.AxisFault; public class SimpleClient { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { SimpleServerStub stub = new SimpleServerStub(); SimpleServerStub.SimpleMethod request = new SimpleServerStub.SimpleMethod(); request.setName("黄"); System.out.println(stub.simpleMethod(request).get_return()); } catch (AxisFault e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }