java访问C#webservice接口

来源:互联网 发布:淘宝卖活体 编辑:程序博客网 时间:2024/05/16 07:39

package serviceclent;


import org.junit.Test;

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

0 0
原创粉丝点击