`

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

阅读更多

呵呵,刚写了一篇基于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下找到,就不在列出了。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics