webservice ------ Java使用axis2调用wsdl形式的webservice

1.依赖架包:

axis.jar、
jaxrpc.jar、
commons-logging-1.0.4.jar、
commons-discovery-0.2.jar、
wsdl4j-1.5.1.jar

代码实现

调用

getData(new Date(),"http://url?wsdl",userSerive)

具体实现

public String getData(String date,String iurl,String method){
		org.apache.axis.client.Service service = new org.apache.axis.client.Service();
		String result=null;
		String jsonResultString=null;
		try {
			Call call = (Call) service.createCall();
 // 远程调用路径
			call.setTargetEndpointAddress(iurl);  
// 调用的方法名
			call.setOperationName(new QName("http://service.axis.com",method)); 
// 传参
			call.addParameter( new QName("http://service.axis.com","date")//参数名,  
					org.apache.axis.encoding.XMLType.XSD_STRING // 参数类型: String,  javax.xml.rpc.ParameterMode.IN// 参数模式:'IN' or 'OUT');
			
			// 设置返回值类型:
			call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String 
			call.setUseSOAPAction(true);   
			call.setSOAPActionURI("http://service.axis.com"+method);
// 远程调用
			result = (String) call.invoke(new Object[]{date});
			int length=result.length();
			jsonResultString=result.substring();//拿到结果中的json格式的字符串
			System.out.println(result);
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (ServiceException e) {
			e.printStackTrace();
		}
		return jsonResultString;
	}
	```

你可能感兴趣的:(webservice)