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();
}
}
}