WebService学习之axis2

axis2和axis据说有些不同,因为公司项目需要,学习了一点axis2,以防以后忘记。

1、下载jar包

http://ws.apache.org/axis2/

自己找

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

	}

}

 

你可能感兴趣的:(apache,eclipse,tomcat,webservice,Google)