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;
}
}