一. 短信接口实现
描述:请求第三方短信接口平台(而第三方短信平台的接口请求是webservice方式实现的),此时我们要测试接口是否通,要用的工具SoapUI测试工具, 不能用PostMan,即使用post组装完参数请求该短信平台接口也不会通的(请求之前要ping通IP,只有在同一网段才可请求.或者使用VPN远程连接也可请求),接口通了之后.开始裸代码.代码使用IDEA工具去完成 , 实现逻辑根据需求而定.

  1. 首先导入两个依赖
<!--生成短信代码webservice START--><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>commons-discovery</groupId><artifactId>commons-discovery</artifactId><version>0.2</version></dependency>
  1. webservice方式实现(IDEA)
    ①创建一个新的包,鼠标点击此包
    ②找到generate点击

    ③会出现以下界面,这里要注意 WSDL URL 地址要改为(短信平台请求接口地址,后边要加问号和wsdl ) 并也要更改Apache Axis 为 Glassfish /JAX-WS

④更改后出现此界面,点击OK后 , 会在新创建的包下出现idea自动创建的文件 .

⑤此时 把.class文件删除就好了,留下此三个文件(注意:SMSNewAllService类可以理解为打通webservice接口的实现类)

⑥业务实现及调用

package com.enn.claim.config.sms;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** 获取配置文件中: 发送短信平台地址/账号/密码/短信类型/费用部门等 参数*/
@Component
@ConfigurationProperties(prefix = "send-messages")
public class SmsProperties {private String address;private String userName;private String passWord;private String smsType;private String feeDept;public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return passWord;}public void setPassword(String password) {this.passWord = password;}public String getSmsType() {return smsType;}public void setSmsType(String smsType) {this.smsType = smsType;}public String getFeeDept() {return feeDept;}public void setFeeDept(String feeDept) {this.feeDept = feeDept;}@Overridepublic String toString() {return "SmsProperties{" +"address='" + address + '\'' +", userName='" + userName + '\'' +", passWord='" + passWord + '\'' +", smsType='" + smsType + '\'' +", feeDept='" + feeDept + '\'' +'}';}
}
/*** 发送短信* @param sendMessageVo* @return*/@Overridepublic SendSmsResult sendMessage(SendSmsVo sendMessageVo) {// 0.参数校验sendMessageVo = this.validParams(sendMessageVo);// 1.创建返回结果集SendSmsResult smsResult = new SendSmsResult();try {//2.拼装发送手机号码String mobiles = "";for (int i = 0; i < sendMessageVo.getMobile().size(); i++) {if (i == 0) {mobiles = sendMessageVo.getMobile().get(i);} else {mobiles = mobiles + "," + sendMessageVo.getMobile().get(i);}}//3.发送短信log.info("开始请求发送短信>>>>>>>>>>>>>>>>>>"+"开始发送短信");SMSNewAllService service = new SMSNewAllService();ISMSNewAll ismsNewAll = service.getISMSNewAllPort();String resultSend = ismsNewAll.sendSMSWithExt(smsProperties.getUserName(), smsProperties.getPassword(), mobiles, sendMessageVo.getSmsBody(), smsProperties.getSmsType(), sendMessageVo.getReplyFlag(), smsProperties.getFeeDept(), sendMessageVo.getAllowStartTime(), sendMessageVo.getAllowEndTime(), sendMessageVo.getDeadLineTime(), sendMessageVo.getAppointTime(), sendMessageVo.getArea(), sendMessageVo.getExtCode());log.info("请求发送短信返回值>>>>>>>>>>>>>>>>>>{}: "+resultSend);//4.判断返回结果if (ObjectUtils.isEmpty(resultSend)) {return SmsResultUtil.error("请求发送短信失败,短信服务商无响应!");}//5.处理返回信息JSONObject jsonObject = JSONObject.parseObject(resultSend);String errorCode = jsonObject.get("errorCode").toString();String status = jsonObject.get("status").toString();if ("0".equals(errorCode) && "ok".equals(status)) {String msgInfo = jsonObject.getString("msgInfo");smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.OK, SmsConstants.MessageCode.SUCCESS_CODE, SmsConstants.MessageMsg.SUCCESS_MSG, msgInfo);return smsResult;} else {String errorMsg = jsonObject.getString("errorMsg");smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.ERROR, SmsConstants.MessageCode.FAIL_CODE, "请求发送短信失败,服务商返回错误信息为:" + errorMsg, "");return smsResult;}}catch (Exception e){log.info("请求发送短信失败,系统异常{}", e);e.printStackTrace();return SmsResultUtil.error("请求发送短信失败,系统异常!");}finally {log.info("发送短信结果{}", JSONObject.toJSONString(smsResult));}}

⑦yml配置文件配置

SpringBoot项目实现短信发送接口开发相关推荐

  1. Android项目实践——短信发送接口的封装与设计

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程:Android开发之从零开始系列 大家要是看到有错误的地方或者有啥好的建议,欢迎留言评论 前言:前一段时间公司服务端开发人手不足,而项目 ...

  2. java短信发送接口开发

    发送短信验证码几乎是现在每个网站都要使用到的一个功能,如注册的时候要发送短息验证码,修改密码的时候也要发送.但是第三方提供给我们的接口只是一个方法而已,并没有提供给我们更多的一个良好,可读性强的接口, ...

  3. 阿里大鱼短信发送接口开发

    一. API接口介绍 alibaba.aliqin.fc.sms.num.send (短信发送) 向指定手机号码发送模板短信,模板内可设置部分变量.使用前需要在阿里大于管理中心添加短信签名与短信模板. ...

  4. IDM短信发送接口设计说明

    对于大多数企业而言,信息化建设的主要目的是通过信息化驱动业务,实现业务升级与优化,主要有三种体现形式:建设业务系统,实现业务流程标准化.便捷化:整合业务系统和数据,形成数据资产:业务数据呈现,直观展现 ...

  5. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  6. 阿里云短信发送接口直接HTTP请求调用

    最新一个个性化项目,客户要求使用阿里云短信发送接口. 但是实在不想引入阿里云的SDK,就自己生成签名,拼接URL实现,  其实用他们的SDK最终也是一哥GET请求进行调用,归根接底还是HTTP请求. ...

  7. django框架中嵌入容联云sdk实现短信发送接口

    1.注册容联云账号,主要是为了获取如下参数 添加测试手机号 2.关于sdk和用法可参考Demo示例,demo下载在最上面Demo下载 3.在自己的项目中导入需用到的模块 4.更改配置为自己申请的应用配 ...

  8. 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求

    前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的 ...

  9. java短信发送接口代码示例demo分享

    适用类型:适用于各类办公系统.ERP.CRM.电子商务平台的插件(如网站app短信验证码.群发短信会议通知.会员/客户关系交流.订单生成通知.发货通知.日程提醒.催费通知等等) 接 口特 点: 绿色短 ...

最新文章

  1. ICCV2021 MIT-IBM沃森开源CrossViT:Transformer走向多分支、多尺度
  2. 从系统盘符选错到认识硬盘的各种分区
  3. python3连接redis
  4. python时间格式转换为美式日期_python中有关时间日期格式转换问题
  5. unity + leapMotion 手势识别入门教程
  6. Excel2019合并两列内容单元格内容自动换行的方法
  7. UMTS 与 WCDMA的区别
  8. 计算机内 云盘图标,如何关闭我的电脑中百度网盘图标
  9. linux 查看vcf文件,vcf文件扩展名,vcf文件怎么打开?
  10. 【干货】Markdown编辑博文,公式图片轻松搞定
  11. 流量不清零、可转赠,对运营商未必是坏事
  12. 抗疫先锋 | IBM:同心抗疫,重塑未来 - emerge smarter!
  13. 桌面窗口管理器(dwn.exe)内存占用大怎么解决
  14. 分水岭matlab仿真,正确使用Matlab分水岭算法对细胞进行分割
  15. MacBook Pro无法开机的解法办法
  16. Poj·Dessert
  17. FL Studio水果简体中文20.9版本下载
  18. 微信小程序毕业设计 基于微信体育馆场地预约小程序系统开题报告
  19. java orm设计_大搜车orm框架设计思路
  20. IA-32汇编语言笔记(2)—— IA32处理器及其寄存器

热门文章

  1. Android websocket闪退,退出手机浏览器,websocket会自动关闭,不是长持续吗
  2. mne plot出错_MNE-Python 环境配置 | win 10
  3. 好友克隆自助下单网站_新进合伙人如何发朋友圈
  4. 【PTA 7-9】剥洋葱
  5. java打开jnlp_jnlp文件怎么打开
  6. “二清”以纳入一级、二级黑名单
  7. QObject成员函数connect()函数
  8. 钉钉自定义机器人提示报警信息
  9. 苹果手机计算机无法横屏,苹果手机怎么设置屏幕旋转失灵了怎么办
  10. 服务器2颗cpu的性能,DIY从入门到放弃:两颗CPU性能更强吗?