axis2调用webservice

	public static long TIMEOUTINMILLISECONDS=100000;

	/**

	 * 调用webservice

	 * @param url webserviceURL

	 * @param methodName 调用方法名

	 * @param namespace 命名空间

	 * @param params 参数

	 * @param returnTypes 返回参数类型

	 * @return

	 * @throws AxisFault

	 */

	public static <T> Object[] invokeMethod(String url,String methodName,String namespace,Object[] params,Class<T>[] returnTypes) throws AxisFault{

		RPCServiceClient client=new RPCServiceClient();

		Options options=client.getOptions();

		EndpointReference epr=new EndpointReference(url);

		options.setTo(epr);

		options.setTimeOutInMilliSeconds(TIMEOUTINMILLISECONDS);

		QName qName=new QName(namespace, methodName);

		Object[] results=client.invokeBlocking(qName, params, returnTypes);

		return results;

	}

 调用方法

1、传递单个参数

Object[] objs = invokeMethod("http://localhost:8080/axis2/services/MobileWs", "getArrayTest", "http://ws.apache.org/axis2", new Object[] {"zhangsan"}, new Class[]{String.class});

 2、传递数组

Object[] objs = invokeMethod("http://localhost:8080/axis2/services/MobileWs", "getArrayTest", "http://ws.apache.org/axis2", new Object[] {new String[]{"zhangsan","lisi"}}, new Class[]{String.class});

 

你可能感兴趣的:(webservice)