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;

   

希望帮助需要的朋友。

 

     您正在看的文章来自疯狂软件教育中心 www.fkjava.org

     信息咨询:Q564205990         星老师

posted on 2012-08-14 16:00  疯狂软件  阅读(218)  评论(0编辑  收藏  举报