短信WebService接口文档
最近的项目需要作为服务端,提供webService接口。 因为之前对webService 一无所知,所以查阅了很多材料。最后这个短信接口文档一来帮助对WebService 的学习更加加深了印象。二来接口文档的编写方式也是我所需要的,所以便当了回拿来主义。 在此例中,数据以XML的形式传输。 短信平台webService接口文档 一. 接口地址 http://hl.my2my.cn/services/esmsservice?wsdl? 二.接口说明 WebService的接口为以下部分: 1.短信发送接口 (1)sendSmsAsXml ·接口方法定义: String sendSmsAsXml(StringsmsPack,String cpid,String cppwd); ·接口参数说明: smsPack:Xml格式数据包(电话号,短信内容) cpid:用户登录名 cppwd:用户密码 ·返回值 0表示成功,否则返回错误原因。 smsPack格式如下 <?xml version="1.0"encoding="utf-8" ?> <sms> ??? <msg> ??????? <phone>13922222111,13822222111</phone> ?????? ??? <content>xxxxxxxxxx</content> ?????? ??? <spnumber>短信流水号</spnumber> ??? </msg> ??? <msg> ??????? .... ??? </msg> </sms> (2)sendSmsAsNormal · 接口方法定义: ? ? ? ? ? ? ?String sendSmsAsNormal(String phone,String msgcont,String spnumber,String chid,String cppwd); · 接口参数说明: phone:所要发送信息的号码(多个号码请用“,”逗号为开) ???????? 如:phone = “13800000000,13900000000”; msgcont: 短信内容 spnumber:流水号,为Null就行,传空值就可。 chid:通道号 cpid:用户登录名 cppwd:用户密码 ·返回值 ?? ?? 返回值为0则表示提交成功。 (3)getSmsStates ? (4) sendSms ? (5) getSmsStates ? (6) getMoList 三、接口提交注意事项:?????? 1.? 接口提交数据一个包不能超过50个号码,50个号码提交一次,否则会提交失败。 ?????? 2.? 短信息内容不能超过70个字符。(包括数字、字母、特殊字符和汉字均为一个字符) 四、DemoDemo说明: 您可以直接创建一个Java项目,调用这个方法,传入相应参数即可。 ?????? javaCall方法调用: ????????????? invokeWebServiceCall(phone,smg,null,chid,cpid,cppwd); ? ?????? /** ?????? ?* Java 形式调用 Webservice ?????? ?* ?????? ?* phone:号码列表 ?????? ?* smg:短信内容 ?????? ?* spName:流水号,为null,不用传参数 ?????? ?* chid:通道号 ?????? ?* cpid:用户名 ?????? ?* cppwd:密码 ?????? ?* */ ?????? publicstatic void invokeWebServiceCall(String phone,String smg, ???????????????????? StringspNumber,String cppwd) { ????????????? //Webservice所在URL ????????????? Stringendpoint = "http://hl.my2my.cn/services/esmsservice"; ? ????????????? //创建一个服务(service)调用(call) ????????????? Serviceservice = new Service(); ? ????????????? Callcall = null; ????????????? try{ ???????????????????? //通过service创建call对象 ???????????????????? call= (Call) service.createCall(); ? ???????????????????? //设置 service所在URL ???????????????????? call.setTargetEndpointAddress(newjava.net.URL(endpoint)); ? ???????????????????? //方法名(sendSmsAsNormal)与SendSmsAsNormal.java方法名保持一致 ???????????????????? call.setOperationName("sendSmsAsNormal"); ? ??????????????????? ? //Object 数组封装了参数,参数为"Object数组形式",调用processService(String arg) ??????????????????? ? Stringret = (String) call.invoke(new Object[] { phone,spNumber,cppwd }); ???????????????????? System.out.println(ret); ????????????? }catch (ServiceException e) { ???????????????????? e.printStackTrace(); ????????????? }catch (MalformedURLException e) { ???????????????????? e.printStackTrace(); ????????????? }catch (RemoteException e) { ???????????????????? e.printStackTrace(); ????????????? }finally { ??????????????????? ? if(null== call) { ??????????????????????????? call= null; ??????????????????? ? } ??????????????????? ? if(null== service) { ??????????????????????????? service= null; ???????????????????? } ????????????? } ?????? } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |