手动生成webservice客户端

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

/**
 * WebService客户端程序
 */
public class WebServiceClient {
	/**
	 * WebService接口地址
	 */
	private String address;
	
	public WebServiceClient(String address){
		this.address = address;
	}
	/**
	 * 接口执行方法
	 * @param ifUser 接口系统标识
	 * @param ifPass 接口系统校验码
	 * @param ifCode 接口标识
	 * @param ifEvent 保留字段
	 * @param info Xml形式的信息
	 * @return xml格式的字符串
	 * @throws Exception 
	 */
	public String excute(String ifUser,String ifPass,String ifCode,String ifEvent,String info) throws Exception{
		String returnXML = "";
		Service  service = new Service();
		Call call = (Call)service.createCall();
		call.setTargetEndpointAddress(new java.net.URL(address)); 
		//设置操作的名称。   
		call.setOperationName(new QName("IfService"));
		//参数1的类型   
		call.addParameter("ifUser", XMLType.XSD_STRING, ParameterMode.IN);
        		//参数2的类型   
		call.addParameter("ifPass", XMLType.XSD_STRING, ParameterMode.IN);
        		//参数3的类型   
		call.addParameter("ifCode", XMLType.XSD_STRING, ParameterMode.IN);
		//参数4的类型 
		call.addParameter("ifEvent", XMLType.XSD_STRING, ParameterMode.IN);
		//参数3的类型
		call.addParameter("info", XMLType.XSD_STRING, ParameterMode.IN);
		//返回的数据类型
		call.setReturnType( XMLType.XSD_STRING);
		//执行EIP提供的webservice方法的调用
		returnXML = (String)call.invoke( new Object [] {ifUser,ifPass,ifCode,ifEvent,info});
		return returnXML;
	}
}

 

你可能感兴趣的:(apache,xml,.net,webservice)