对接短信遇到的编码问题
来源:互联网 发布:java中级面试题及答案 编辑:程序博客网 时间:2024/05/09 04:32
由于客户需要,app添加短信功能,这里用到了第三方对接接口功能:
遇到一个问题,同一个方法本地测试 main方法可以执行
结果成功<?xml version="1.0" encoding="utf-8" ?><returnsms>
<returnstatus>Success/returnstatus>
手机可以收到短信!
,但是在serviceImpl具体方法中调用就总是失败的报文
<?xml version="1.0" encoding="utf-8" ?><returnsms>
<returnstatus>Faild</returnstatus>
<message>短信必须带【】格式签名</message>
<remainpoint>0</remainpoint>
<taskID>0</taskID>
<successCounts>0</successCounts></returnsms>
而且咨询短信平台客服,事实证明我们所测试短信都应该是已经发送成功了!
后台找同事帮忙看 发现是编码的问题:
main---方法 走的是eclipse 我当然设置的是UTF-8的编码,符合平台需求!!
serviceImpl需要tomcat协助,而tomcat默认的编码是:ISO-8859-1
public static String sendMsgNew(String vCode, String phone) {
OutputStream out = null;
BufferedReader rd = null;
String responseContent = "";
HttpURLConnection urlConn = null;
// 短信接口用户名和密码
String userid = "40";
String userName = "ayrjqr";
String password = "123456";
String extno = "060099";
try {
String _url = "http://120.76.25.160:7788/sms.aspx";
String params = "action=send&userid=" + userid + "&account=" + userName + "&password=" + password
+ "&mobile=" + phone + "&content="
+ URLEncoder.encode("【爱睿机器人】您的验证码为:" + vCode + ",1分钟之内有效,请尽快验证!", "UTF-8")+ "&sendTime=&extno="
+ extno;
responseContent = SmsUtil.getResponse(_url, params);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (urlConn != null) {
urlConn.disconnect();
}
if (rd != null) {
rd.close();
}
if (out != null) {
out.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
return responseContent;
}
- 对接短信遇到的编码问题
- 第一次做WebService对接遇到的问题
- 对接alipay支付遇到的问题
- GB28181对接中遇到的问题总结
- 关于H5游戏的对接遇到的一些问题
- WEB平台对接过程中遇到的系列技术问题
- vmware对接openstack i版遇到的问题
- JdbcTemplate和mysql对接中遇到的问题总结
- 对接钉钉接口可能遇到的问题 50004 60011
- 短信拦截中遇到的问题
- 字符集之:短信中文编码的问题
- 数字签名遇到的编码问题
- PHP编码遇到的问题
- POP3遇到的编码问题
- 对接海关总署电子口岸时遇到清单加密问题的总结
- pjsip对接已编码的流
- 短信接口如何对接
- 短信平台对接
- Linux多线程编程(创建线程)
- 加班除了客观原因,还有哪些是值得我思考的?
- Http返回码
- win10 java环境变量配置
- 安卓应用打包安装过程
- 对接短信遇到的编码问题
- spring中jdbctemplate的使用以及c3p0
- Android App插件化(推荐)
- hdu 3294 Girls' research【manacher】
- C#获取所有SQL Server数据库名称的方法
- Linux下编译C/C++以及gcc/g++常用参数
- java i/o操作
- Android简单自定义圆形和水平ProgressBar
- MyBatis错误:There is no getter for property named 'paramSql' in 'class java.lang.String'