您的位置:首页 > 编程语言 > Java开发

java访问C#webservice接口

2016-11-04 15:02 405 查看
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");

  }

    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息