1. 程式人生 > >JAVA傳送手機簡訊,client簡訊傳送介面示例(java)

JAVA傳送手機簡訊,client簡訊傳送介面示例(java)

程式碼中有註釋:
 //傳送簡訊的方法
private static ObjectMapper mapper = new ObjectMapper();
public String sendSms(){
   Long phoneNum =  getLong("phoneNum");
    Map<String,Object> map = new HashMap<String,Object>();
    HttpServletResponse response = getResponse();
    response.setContentType("text/plain;charset=UTF-8");
    try {
        ApplicationContext appContext = new ClassPathXmlApplicationContext(new String[] {});
        // *webserive 地址【已配置】
        org.springframework.core.io.Resource resource = appContext.getResource("url:http://msg.cupl.edu.cn/tp_mp/service/SmsService?wsdl");
//第三方介面地址 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //下面是介面中一些必填,非必填引數,第三方提供介面時,會給引數列表 // *協議祕鑰【已配置】 map.put("secret_key", getSHA("L3t6Xjn7/kaEz7b30rYGiyxv2I4=")); // *對應的第三方系統名稱【已配置】 map.put("tp_name", "comprehensiveSms"); // *對應的模組名稱【已配置】 map.put("module_id", "sms"); // *對應的平臺系統名稱【已配置】 map.put("sys_id", "mp"); // *對應的介面方法名稱【已配置】 map.put("interface_method", "sms"); // 引數列表 // *接收人資訊,每個人員資訊格式為: 名字|學工號|部門ID|部門名稱|電話號碼,人與人之間用“^@^”隔開(如果資料無法提供,可以寫空,但是“|”不可省略),必須 map.put("person_info", "||||"+phoneNum); // *簡訊內容,必須 //隨機產生的4位數字 Random random = new Random(); String code=""; for (int i=0;i<6;i++) { code+=random.nextInt(10); } String sms_info = new String("您的驗證碼是:" + code + "。請不要把驗證碼洩露給其他人。10分鐘內有效。"); map.put("sms_info", sms_info); // *傳送方式(3:立即傳送;4:傳送) map.put("send_priority", "3"); // *傳送時間,String型,可為空,引數不可省略 map.put("send_time", sdf.format(date)); // *傳送人UID,可為空,引數不可省略 map.put("operator_id", "09901"); // *傳送人ID_NUMBER,需要傳送回執的時候不可為空,引數不可省略 map.put("operator_id_number", "09901"); // *傳送人姓名,可為空,引數不可省略 map.put("operator_name", "管理員"); // *傳送人部門ID,不可為空,引數不可省略,有關於簡訊的配額問題 map.put("operator_unit_id", "1113"); // *傳送人部門名稱,可為空,引數不可省略 map.put("operator_unit_name", "中國政法大學"); // *傳送模板 ID,可在統一通訊平臺中檢視,不傳送模板值為”0”,引數不可省略 map.put("templet_id", "0"); // *傳送回執 ID,可在統一通訊平臺中檢視,不傳送回執值為”0”,引數不可省略 map.put("receipt_id", "0"); // *傳送人簽名,根據模板而定,選擇的模板有“傳送人簽名”標籤的需要寫值,其他為空,引數不可省略 map.put("person_send", ""); // *傳送平臺碼,必須 map.put("send_sys_id", "1"); // *傳送平臺名稱,必須 map.put("send_sys_name", "第三方平臺"); // *傳送使用的瀏覽器,可為空,引數不可省略 map.put("user_browser", "FireFox"); String json = mapper.writeValueAsString(map); System.out.println("json:"+json); //client 簡訊傳送介面
Client client = new Client(resource.getInputStream(), null); //輸出結果 boolean型,true代表推送成功,false為失敗 Object[] result = client.invoke("saveSmsInfo", new Object[]{json}); //這裡的saveSmsInfo ,就是我們傳送簡訊時,呼叫介面中的方法名 System.out.println(result[0]); client.close(); } catch (Exception e) { e.printStackTrace(); } return null; }