无限通平台接口手册
import config.sms.webServiceXmlConfig.ISmsService4XML;
import config.sms.webServiceXmlConfig.SmsService4XMLImplServiceLocator;
public class WebServiceXmlUtil { /**此版本使用document 对象封装XML,解决发送短信内容包涵特殊字符而出现无法解析,如 短信为:“你好,<%&*&*&><<<>fds测试短信”
* @author 8373 */ // ############################此部分参数需要修改############################
public static String userName = \; //用户名,如:dh123 public static String password = \; //密码,如:dh.123 public static String phone = \; //发送手机,如:13888888888 public static String content = \; //短信内容 public static String sign=\; //短信签名 public static String subcode = \; //子号码,可为空 public static String msgid = \; //短信id,查询短信状态报告时需要,可为空 public static String sendtime=\; //定时发送时间 //public static String url=\ //三网通地址 public static String url=\; //无限通地址 // ############################此部分参数需要修改############################
public static void main(String[] args) { WebServiceXmlUtil wsxd = new WebServiceXmlUtil(); wsxd.sendSms();//发送短信 wsxd.getSms(userName, password); //获取上行 wsxd.getReport(userName, password, msgid, phone); //获取状态报告 wsxd.getBalance(userName, password); //查询余额 } // MD5加密函数 public static String MD5Encode(String sourceString) { String resultString = null; try { resultString = new String(sourceString); MessageDigest md = MessageDigest.getInstance(\); resultString = byte2hexString(md.digest(resultString.getBytes())); } catch (Exception ex) { }
第 41 页 共 45 页
无限通平台接口手册
return resultString; } public static final String byte2hexString(byte[] bytes) { StringBuffer bf = new StringBuffer(bytes.length * 2); for (int i = 0; i < bytes.length; i++) { if ((bytes[i] & 0xff) < 0x10) { bf.append(\); } bf.append(Long.toString(bytes[i] & 0xff, 16)); } return bf.toString(); } //发送短信方法 public void sendSms() { SmsService4XMLImplServiceLocator smsservice = new SmsService4XMLImplServiceLocator();
try { ISmsService4XML sms = smsservice.getSmsService4XMLImplPort(new URL( url)); WebServiceXmlUtil docxml=new WebServiceXmlUtil(); String message=docxml.DocXml(userName, MD5Encode(password), msgid, phone, content, sign, subcode, sendtime); //使用document对象封装XML
// /************组装xml***************/ // String message = \version=\\\encoding=\\\
// + \ // + account // + \ // + MD5Encode(password) // + \ // + \ // + phone // + \ // + content // + \ // + subcode // + \ System.out.println(\发送短信************\); System.out.println(message); String res = sms.submit(message); System.out.println(res); } catch (Exception e) { }
第 42 页 共 45 页
无限通平台接口手册
} //获取上行方法 public void getSms(String account, String password) { SmsService4XMLImplServiceLocator smsservice = new SmsService4XMLImplServiceLocator();
try { ISmsService4XML sms = smsservice.getSmsService4XMLImplPort(new URL( url)); String message = \version=\\\encoding=\\\
+ account + \ + MD5Encode(password) + \; System.out.println(\上行短信***********\); System.out.println(message); String res = sms.deliver(message); System.out.println(res); } catch (Exception e) { } } //获取状态报告方法 public void getReport(String account, String password, String msgid, String phone) { SmsService4XMLImplServiceLocator smsservice = new SmsService4XMLImplServiceLocator();
try { ISmsService4XML sms = smsservice.getSmsService4XMLImplPort(new URL( url)); String message = \version=\\\encoding=\\\
+ account + \ + MD5Encode(password) + \ + msgid + \ + phone + \; System.out.println(\状态报告********\); System.out.println(message); String res = sms.report(message); System.out.println(res);
第 43 页 共 45 页
无限通平台接口手册
} catch (Exception e) { } } //查询余额方法 public void getBalance(String account, String password) { SmsService4XMLImplServiceLocator smsservice = new SmsService4XMLImplServiceLocator();
try { ISmsService4XML sms = smsservice.getSmsService4XMLImplPort(new URL( url)); String message = \version=\\\encoding=\\\
+ account + \ + MD5Encode(password) + \; System.out.println(\查询余额*********\); System.out.println(message); String res = sms.balance(message); System.out.println(res); } catch (Exception e) { } } /** * 使用document 对象封装XML * @param userName * @param pwd * @param msgid * @param phone * @param contents * @param sign * @param subcode * @param sendtime * @return */ public String DocXml(String userName,String pwd,String msgid,String phone,String contents,String sign,String subcode,String sendtime) {
Document doc = DocumentHelper.createDocument(); doc.setXMLEncoding(\); Element message = doc.addElement(\); Element account = message.addElement(\); account.setText(userName); Element password = message.addElement(\);
第 44 页 共 45 页
无限通平台接口手册
password.setText(pwd); Element msgid1 = message.addElement(\); msgid1.setText(msgid); Element phones = message.addElement(\); phones.setText(phone); Element content = message.addElement(\); content.setText(contents); Element sign1 = message.addElement(\); sign1.setText(sign); Element subcode1 = message.addElement(\); subcode1.setText(subcode); Element sendtime1 = message.addElement(\); sendtime1.setText(sendtime); return message.asXML(); //System.out.println(message.asXML()); } }
第 45 页 共 45 页