疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java axis 调用C# webService的例子


 

 首次接触到WebService,要调用一个发送短信的WebService里方法sendMQ,不废话,自己留个备份,也给需要的朋友,代码如下:
   
    Service service = new Service();
   
    String url = “http://xxxxx.xx.xx/yy.asmx”;
   
    //在浏览器中打开url,可以找到SOAPAction: “http://www.chinsoft.com.cn/SendMQ”String namespace = “http://www.chinsoft.com.cn/”;String actionUri = “SendMQ”;
   
    //Action路径String op = “SendMQ”;
   
    //要调用的方法名Call call = (Call) service.createCall();call.setTargetEndpointAddress(new java.net.URL(url));call.setUsername(“your username”);
   
    // 用户名(如果需要验证)call.setPassword(“your password”);
   
    // 密码call.setUseSOAPAction(true);call.setSOAPActionURI(namespace + actionUri);
   
    // action uricall.setOperationName(new QName(namespace, op));
   
    // 设置要调用哪个方法
   
    // 设置参数名称,具体参照从浏览器中看到的call.addParameter(new QName(instance.NAMESPACE, “sender”),
   
    XMLType.XSD_STRING, ParameterMode.IN);call.addParameter(new QName(instance.NAMESPACE, “phoneNumber”),
   
    XMLType.XSD_STRING, ParameterMode.IN);call.addParameter(new QName(instance.NAMESPACE, “content”),
   
    XMLType.XSD_STRING, ParameterMode.IN);call.addParameter(new QName(instance.NAMESPACE, “sendTime”),
   
    XMLType.XSD_STRING, ParameterMode.IN);call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
   
    // 要返回的数据类型String sendTime = “2011-07-14 13:05:32”;Object[] params = new Object[] {“xxx”, “13223333333”, “测试短信”, sendTime };String result = (String) call.invoke(params);
   
    //方法执行后的返回值
   
    以上代码用到的包:apache axis
   
    import javax.xml.namespace.QName;
   
    import javax.xml.rpc.ParameterMode;
   
    import javax.xml.rpc.encoding.XMLType;
   
    import org.apache.axis.client.Call;
   
    import org.apache.axis.client.Service;
   
    希望帮助需要的朋友。