1.首先在myeclipse装axis2插件,比较麻烦,各种状况。
参照了:http://blog.csdn.net/seven_zhao/article/details/6089747
2.axis2.jar包下载,地址:http://axis.apache.org/axis2/java/core/download.cgi ,我用的版本是1.5.6
3.生成服务器端工程yourProjectName
参照了:http://www.lifeba.org/arch/java_axis2_webservice.html 使用第三部分:独立部署中的方法。
主要是复制WEB-INFO下的3个axis2相关文件夹和web.xml,然后修改services.xml里边的服务名称yourServiceName和方法名称yourMethod。
如:服务类TestWs:
package ws;
public class TestWs {
public String showName(String name) {
return name;
}
public String getName() {
return "Hello,Axis2,,by getName method.";
}
}
services.xml配置如下:
<service name="AxisService">
<description>AxisService</description>
<parameter name="ServiceClass">ws.TestWs</parameter>
<operation name="showName">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<operation name="getName">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
工程名称为Axis2Service
部署在tomcat下验证服务是否正常:
http://localhost:81/yourProjectName/services/yourServiceName?wsdl
http://localhost:81/Axis2Service/services/AxisService?wsdl
4.生成客户端测试程序
使用装好的axis2插件“Axis2 Code Generator” 生成代码到指定工程下。
测试类:
package test;
import ws.AxisServiceStub;
public class ClientTest {
public static void main(String[] args) throws Exception {
AxisServiceStub stub = new AxisServiceStub();
AxisServiceStub.ShowName command = new AxisServiceStub.ShowName();
command.setName("Hello,axis2,,by showName method.");
String showNameRtn = stub.showName(command).get_return();
System.out.println(showNameRtn);
String getNameRtn = stub.getName().get_return();
System.out.println(getNameRtn);
}
}
输出:
Hello,axis2,,by showName method.
Hello,Axis2,,by getName method.