import java.util.HashMap;
import java.util.Map;
import java.util.Random;
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;
import bean.UserInfo;
public class Test {
private static final byte[] lock = new byte[0];
/**
* @param args
*/
public static void main(String[] args) {
//webService0();
//webService1();
webService2();
}
public static void webService0(){
try {
String theEmail = "callray@163.com";
String nameSpace="http://intf.kxtkx.com/";
String endpoint = "http://intf.kxtkx.com/ai/services/authservice?wsdl";
//直接引用远程的wsdl文件
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endpoint));
call.setOperationName(new QName(nameSpace, "getUserInfo"));
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://intf.kxtkx.com/getUserInfo");
call.addParameter(new QName(nameSpace,"theEmail"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数
call.setReturnType(XMLType.XSD_STRING);//设置返回类型
String result = (String)call.invoke(new Object[]{theEmail});
//给方法传递参数,并且调用方法
System.out.println("调用结果:"+result);
}catch (Exception e) {
e.printStackTrace();
//System.err.println(e);
}
}
public static void webService1(){
try {
String theEmail = "callray@163.com";
String nameSpace="http://WebXml.com.cn/";
String endpoint = "http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx";
//直接引用远程的wsdl文件
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endpoint));
call.setOperationName(new QName(nameSpace, "ValidateEmailAddress"));
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/ValidateEmailAddress");
call.addParameter(new QName(nameSpace,"theEmail"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数
call.setReturnType(XMLType.XSD_BYTE);//设置返回类型
Byte result = (Byte)call.invoke(new Object[]{theEmail});
//给方法传递参数,并且调用方法
System.out.println("调用结果:"+result);
}catch (Exception e) {
e.printStackTrace();
//System.err.println(e);
}
}
/**
* Java调用.net的webservice
*/
public static void webService2(){
try {
UserInfo userInfo=new UserInfo();
userInfo.setUid("");
userInfo.setUid("");
userInfo.setApplyTime("");
userInfo.setEncPassword("");
String Uid = "";
String Sid = "";
String ApplyTime = "";
String EncPassword = "";
String nameSpace="http://tempuri.org/";//不同环境不同 String endpoint = "http://crm.ws.ctrip.com/Customer-User-ExtService/ExUserWebService.asmx"; //直接引用远程的wsdl文件 Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(endpoint)); call.setOperationName(new QName(nameSpace, "GetIsCtripUser")); call.setUseSOAPAction(true); call.setSOAPActionURI("http://tempuri.org/GetMemberInfo");//nameSpace+方法名 call.addParameter(new QName(nameSpace,"userInfo"), XMLType.XSD_ENTITY, ParameterMode.IN);//接口的参数 //call.addParameter(new QName(nameSpace,"Uid"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数 //call.addParameter(new QName(nameSpace,"Sid"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数 //call.addParameter(new QName(nameSpace,"ApplyTime"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数 //call.addParameter(new QName(nameSpace,"EncPassword"), XMLType.XSD_STRING, ParameterMode.IN);//接口的参数 call.setReturnType(XMLType.XSD_STRING);//设置返回类型 String result = (String)call.invoke(new Object[]{userInfo}); //String result = (String)call.invoke(new Object[]{Uid,Sid,ApplyTime,EncPassword}); //给方法传递参数,并且调用方法 System.out.println("result is "+result); }catch (Exception e) { e.printStackTrace(); //System.err.println(e); } } }