公司对接cmpp短信接口,需要用到阿里云短信服务。在实际操作时因为账号问题,开通了http短信服务。。。下面进行实现。
语言是java,工具是tomcat7+myeclipse2013,阿里的SDK版本是4.5.1
短信开通链接是:https://www.aliyun.com/product/sms 附图:
然后充值----创建签名----创建短信模板-----保存AccessKey ID和AccessKey Secret(api参数必须)。短信控制台为:
java接入的详细事项看图左侧‘帮助文档’,先下载java sdk
然后我们将jar包部署到项目中,然后进行api接口的实现,我以查询签名状态为例,
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.seven.model.system.sms.SmsSignature;
/**
* 阿里云sms工具类
* @author Administrator
*
*/
public class AliyunSmsUtil {
private static final String ACCESSKEY=SysConfig.get("AccessKey ID");
private static final String SECRET=SysConfig.get("AccessKey Secret");
public AliyunSmsUtil() {
// TODO Auto-generated constructor stub
}
/**
* 查询短信签名
* @param signName
* @return
*/
- public static String querySmsSign(String signName) {
- DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESSKEY, SECRET);
- IAcsClient client = new DefaultAcsClient(profile);
- CommonRequest request = new CommonRequest();
- request.setSysMethod(MethodType.POST);
- request.setSysDomain("dysmsapi.aliyuncs.com");
- request.setSysVersion("2017-05-25");
- request.setSysAction("QuerySmsSign");
- request.putQueryParameter("RegionId", "cn-hangzhou");
- request.putQueryParameter("SignName", signName);
- String result="";
- try {
- CommonResponse response = client.getCommonResponse(request);
- System.out.println(response.getData());
- } catch (ServerException e) {
- e.printStackTrace();
- } catch (ClientException e) {
- e.printStackTrace();
- }
- return result;
- }
- }
这个是查询签名状态的,需要传入3个参数:签名、AccessKey ID,AccessKey Secret,后两个参数是‘固定的’在阿里的控制台中可以查到,所以我这个方法里只加了签名一个入参。
执行代码,传入签名。执行到第二行时,会报错,提示找不到方法,java.lang.ClassNotFoundException: io.opentracing.XXX
这里是缺jar包,阿里没有给提示。找了好久看到了一个链接:https://developer.aliyun.com/article/746760
在maven中下载标记的三个jar包,部署到项目中,即可解决。附方法执行结果:
嗯,大概还是要在阿里上做些配置,方法是能够执行了。
解决链接是:https://blog.youkuaiyun.com/a772304419/article/details/105055987/
上面有不理解的朋友可以加我微信备注csdn,一起学习