使用axis调用webservice
来源:互联网 发布:辐射4xboxonex优化 编辑:程序博客网 时间:2024/05/22 07:07
<span style="font-size:14px;"> public static boolean send(String MsgContent, String DestNumber){ boolean res = false; try { // webservice路径 // 这里后面加不加 "?wsdl" 效果都一样的 String endpoint = "http://sms.28inter.com:8080/SmsService/SmsService.asmx"; // 发送短信接口方法名 String operationName = "SendEx"; String targetNamespace = "http://tempuri.org/"; // 定义service对象 Service service = new Service(); // 创建一个call对象 Call call = (Call) service.createCall(); // 设置目标地址,即webservice路径 call.setTargetEndpointAddress(endpoint); // 设置操作名称,即方法名称 call.setOperationName(new QName(targetNamespace, operationName)); // 设置方法参数 call.addParameter(new QName(targetNamespace, "UserId"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "Password"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "MsgContent"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "DestNumber"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "SendTime"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "SubNumber"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "BatchSendID"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(targetNamespace, "BizType"), XMLType.XSD_STRING, ParameterMode.IN); // XMLType.XSD_INT call.addParameter(new QName(targetNamespace, "WapURL"), XMLType.XSD_STRING, ParameterMode.IN); /** * 设置返回值类型-由于文档给的是返回一个代理类SendExResp-这个需要用ws工具生成,不然就要手动写, * 故这里设置成org.w3c.dom.Element.class,不然会报org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected错误。 * 注:具体的返回类型,根据对方提供的ws进行设置即可,如:call.setReturnClass(String[].class); */ call.setReturnClass(org.w3c.dom.Element.class); // 解决错误:服务器未能识别 HTTP 头 SOAPAction 的值 call.setUseSOAPAction(true); call.setSOAPActionURI(targetNamespace + operationName); // 调用ws方法 call.invoke(new Object[]{SMS.USERID, SMS.PASSWORD, MsgContent, DestNumber, SMS.SENDTIME, SMS.SUBNUMBER, SMS.BATCHSENDID, SMS.BIZTYPE, SMS.WAPURL}); res = true; } catch (ServiceException e) { res = false; e.printStackTrace(); } catch (RemoteException e) { res = false; e.printStackTrace(); } return res; } 注:上述WSDL里面描述的参数BIZTYPE是int类型的,但传递参数时要传递字符串类型,否则报如下错误: 服务器无法读取请求。 ---> XML 文档(1, 841)中有错误。 ---> 输入字符串的格式不正确 </span>
0 0
- 使用axis调用webservice
- 使用axis轻松调用Webservice
- Java使用Axis调用WebService
- 使用axis轻松调用Webservice
- 使用axis调用webservice接口
- JAVA中使用axis调用.net WebService
- 使用axis和axis2调用webservice
- java使用axis调用WebService简单示例
- 客户端使用axis调用webService服务端
- java使用axis调用webservice接口
- axis 调用webservice (客户端)
- java调用webservice axis
- Axis、Axis2调用webservice
- axis调用webservice接口
- axis调用webservice(net)
- AXIS调用webService服务
- Axis调用WebService
- 用axis调用webservice
- (时间篇)关于时间的思考
- Problem F: 结构体--学生信息排序
- java中synchronized锁定对象问题
- POJ 2155 Matrix(二维树状数组)
- 启动画面的细节处理
- 使用axis调用webservice
- linux系统从简单命令到熟练掌握
- matlab和C++混编(1)配置开发环境
- 巧妙利用单调队列(12哈工程多校)(3530)
- 安卓开发常见问题
- 速e平台列表日期显示格式设置
- maven+eclipse基础
- C++ 多线程并发控制——互斥锁 pthread_mutex
- 二分查找算法----递归&&非递归