欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于Axis2的WS构建客户端示例

程序员文章站 2022-04-05 10:29:40
...

呵呵,刚写了一篇基于Axis2的WS构建服务端示例,如下链接:

http://zhangzhenting.iteye.com/blog/625252

 

现在介绍构建客户端的方法:

还是根据WSDL生成客户端代码,前面已经通过一篇文章介绍了相关操作方法:http://zhangzhenting.iteye.com/blog/624364

 

首先,创建一个应用工程,将生成的客户端源码复制到工程中,也就一个类,不过这个类比较大而已。

然后,将相关的jar包放到工程中classpath中,这些jar包都可以在axis2安装目录lib下找到,主要有以下几个包:

      activation-1.1.jar
      axiom-api-1.2.4.jar
      axiom-impl-1.2.4.jar
      axis2-adb-1.2.jar
      axis2-adb-codegen-1.2.jar
      axis2-codegen-1.2.jar
      axis2-java2wsdl-1.2.jar
      axis2-kernel-1.2.jar
      commons-codec-1.3.jar
      commons-httpclient-3.0.1.jar
      commons-logging-1.1.jar
      stax-api-1.0.1.jar
      wsdl4j-1.6.2.jar
      wstx-asl-3.2.1.jar
      XmlSchema-1.3.1.jar

这样环境就建立了,最后就是要进行测试了。

写一个测试类,如下:

public class UserServiceTest {

	public static void main(String[] args) throws RemoteException {
		long start = System.currentTimeMillis();
		UserServiceStub synUserImplServiceStub = new UserServiceStub("http://localhost:8080/zzt/services/UserService");
		login(synUserImplServiceStub);
		System.out.println("cost:" + (System.currentTimeMillis() - start));
	}

	private static void login(UserServiceStub userServiceStub) throws RemoteException {
		LoginRequest3 loginRequest3 = new LoginRequest3();
		LoginRequest loginRequest = new LoginRequest();
		loginRequest.setUsername("zzt");
		loginRequest.setPassword("123");
		loginRequest3.setLoginRequest(loginRequest);

		try {
			LoginResponse6 loginResponse6 = userServiceStub.login(loginRequest3);
			String resultCode = loginResponse6.getLoginResponse().getResultCode();
			String description = loginResponse6.getLoginResponse().getDescription();
			System.out.println("resultCode=" + resultCode + ",description=" + description);
		} catch (AxisFault e) {
			e.printStackTrace();
		}

	}

}

 

运行该应用程序,在服务端能够接收到响应就表示成功了。

另外,对add,delete 和 edit 方法的测试在附件中给出,所需的jar包都可以在axis2安装目录lib下找到,就不在列出了。

 

 

相关标签: Blog