第三方服务腾讯云短信org.json冲突

Posted 宣之于口

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方服务腾讯云短信org.json冲突相关的知识,希望对你有一定的参考价值。

腾讯云短信org.json冲突


错误:

Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.json.JSONObject.put(Ljava/lang/String;Ljava/util/Collection;)Lorg/json/JSONObject;

原因:包依赖冲突问题,qcloudsms_java依赖 org.json:json 这个包。qcloudsms_java 不能考虑到跟所有其他第三方依赖冲突问题,这个需要用户主动来解决

解决办法一:参考文章here

解决办法二:

使用不带参数的发送短信方式

private static final int TYPE_NORMAL = 0;
private static final String NATION_CODE = "86";
public static SmsSingleSenderResult sendSMS(String phoneNumber, int templateId, String msg) throws HTTPException, IOException 
    SmsSingleSender ssender = new SmsSingleSender(APPID, APPKEY);
    // 该msg需要与腾讯云上的短信模版一致,不然会显示无法匹配。
    msg = "【" + SIGNATURE + "】您正在验证手机号码,验证码为" + msg + ",请及时输入,验证    码5分钟内有效,感谢您的支持!";
    SmsSingleSenderResult result = ssender.send(TYPE_NORMAL, NATION_CODE, phoneNumber,msg, "", "");
    if (result.result == SUCCESS_CODE) 
        log.info("result is ", result);
     else 
        log.error("result is ", result);
    
   return result;

以上是关于第三方服务腾讯云短信org.json冲突的主要内容,如果未能解决你的问题,请参考以下文章

瑞吉外卖项目:短信服务与手机验证码登录

阿里云短信服务报错org.json.JSONArray.iterator()Ljava/util/Iterator

发送短信功能

腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)

接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)

API调用腾讯云短信