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 星老师