package serviceclent;
import java.net.URL;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class ClientTest {
// @Test
// public void testGetAllBooks() {
// try{
// MyService service=new MyServiceLocator();
// Call call = (Call) service.createCall();
// call.setOperationName(new QName("", "GetTestQuestions"));
// call.addParameter("username", XMLType.XSD_STRING, ParameterMode.IN);
// call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN);
// call.addParameter("userlx", XMLType.XSD_STRING, ParameterMode.IN);
// call.setTargetEndpointAddress(new URL("http://120.76.235.98:8002/MyService.asmx?op=Login_json"));
// String result = (String) call.invoke(new Object[] { "sr", "123","3"});
// System.out.println("------");
// }catch(Exception e){
// e.printStackTrace();
// }
// String url="http://120.76.235.98:8002/MyService.asmx";
// Service service = new Service();
// // String strSign = IpsCrypto.md5Sign(IPayConfig.ipay_mer_code+IPayConfig.cert_md5);
// Call call ;
// try {
// call = (Call)service.createCall();
// call.setTargetEndpointAddress(url);
// call.setOperationName("Login_json");
// call.addParameter(new QName("username"), XMLType.XSD_STRING, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
// call.addParameter(new QName("password"), XMLType.XSD_STRING, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
// call.addParameter(new QName("userlx"), XMLType.XSD_STRING, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
// call.setReturnType(XMLType.SOAP_STRING);// 设置调用方法的返回值类型
// call.setUseSOAPAction(true);
// call.setSOAPActionURI("http://tempuri.org/Login_json");
// String obj =(String)call.invoke(new Object[]{IPayConfig.ipay_mer_code,strSign});
// System.out.println(obj);
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// }
/**
*
* @param serviceUrl 服务名
* @param nameSpace
* @param methodName 执行的方法名
* @param paremateArrs 参数数据数组
* @param qNameArrs 变量数组
* @return
*/
public static Object CallSoapService(String serviceUrl ,String nameSpace,String methodName, Object[] paremateArrs,Object[] qNameArrs){
String endPoint = serviceUrl;
String actionUrl=nameSpace+methodName;
Object returnObj = null;
try{
Service service = new Service();
Call call = null;
call = (Call)service.createCall();
QName qName = new QName(nameSpace,methodName);
call.setOperationName(qName);
call.setSOAPActionURI(actionUrl);
for(int i=0,len=qNameArrs.length;i<len;i++){
call.addParameter(new QName(nameSpace,qNameArrs[i].toString()), org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
}
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setTargetEndpointAddress(new URL(endPoint));
returnObj = call.invoke(paremateArrs);
}catch(Exception ie){
ie.printStackTrace();
}
System.out.println(returnObj);
return returnObj;
}
@Test
public void mains() {
String url="http://120.76.235.98:8002/MyService.asmx";
String method="Login_json";
String parameter="15170560850";
String namespace="http://tempuri.org/";
ClientTest.CallSoapService(url,namespace,method,new Object[]{"sr","123","3"},new Object[]{"username","password","userlx"});
System.out.println("111111111111111111111");
}
}