代码中有注释: //发送短信的方法 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; }