【第三方服務】騰訊雲簡訊org.json衝突
阿新 • • 發佈:2019-01-10
騰訊雲簡訊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;
}