首页 > 其他 > 详细

Axis2调用服务端

时间:2014-03-17 17:10:29      阅读:467      评论:0      收藏:0      [点我收藏+]

1.导入需要的jar包

bubuko.com,布布扣

package com.axis2.client;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

import com.chni.btmachine.bean.KioskUserInfo;

/**
 * 使用Axis2调用webservice服务
 * @author Administrator
 *
 */
public class TestAxis2Client {

	public void qeury(){
		
		//使用RPC调用webservice
		RPCServiceClient rpcClient=null;
		try {
			//创建客户端对象
			rpcClient = new RPCServiceClient();
			//创建options对象
			Options options= rpcClient.getOptions();
			//指定webservices调用的url地址
			EndpointReference endp=new EndpointReference("http://xxx:8443/HealthCloud/services/downloadWebService");
			//设置to
			options.setTo(endp);
			
			//指定调用的WSDL命名空间(<wsdl:definitions targetNamespace="http://webservice.kiosk.tsinghua.edu">) 
			//和 调用方法名称
			QName qname=new QName("http://webservice.kiosk.tsinghua.edu", "getUser");
			
			//指定返回值数据类型
			Class[] cs=new Class[]{KioskUserInfo[].class};
			
			//指定方法的参数 (使用数组形式,多个参数写在后面即可)
			Object obj[]=new Object[]{"1","2010-12-1"};
		
			//调用服务器端方法 第一个参数表示调用的方法,第二个参数表示传递过去的参数,第三个参数表示返回的类型
			//方法返回一个Object数组 取第一个即可
			KioskUserInfo[] kios=(KioskUserInfo[])rpcClient.invokeBlocking(qname, obj,cs)[0];
//			rpcClient.cleanup();
			System.out.println(kios);
			
			for(KioskUserInfo k:kios){
				
				System.out.println(k.getAddress());
				
			}
		} catch (AxisFault e) {
			e.printStackTrace();
		}
	
	}
	
	public static void main(String[] args) throws AxisFault{
		TestAxis2Client client=new TestAxis2Client();
		client.qeury();
		
	}
	
}



Axis2调用服务端,布布扣,bubuko.com

Axis2调用服务端

原文:http://blog.csdn.net/blogluoqi/article/details/21370535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!