最近的项目需要作为服务端,提供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格式如下
13911111111,13811111111
xxxxxxxxxx
短信流水号
....
(2)sendSmsAsNormal
· 接口方法定义:
String sendSmsAsNormal(String phone,String msgcont,String spnumber,String chid,String cpid,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个字符。(包括数字、字母、特殊字符和汉字均为一个字符)
四、Demo
Demo说明:
您可以直接创建一个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 chid, String cpid, 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, smg, spNumber, chid, cpid,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;
}
}
}