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

java 调用C# webService的例子

2013-03-19 11:34 288 查看
//要调用一个发送短信的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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: