最近公司有个项目需要使用到发送短信验证码的功能,由于时间紧迫我们直接使用第三方服务——移动的云mas短信接口服务。
在获取了相关必要验证参数及移动技术支持提供的相关demo后,我开始往我们的项目里整合短信功能。
现记录相关trouble:
trouble0:sdk里面包含太多类似spring框架的jar包,使得每次要去除相关冲突jar包(最笨操作:点击目标jar包-右键-用好压打开-删除对应jar包文件夹,pom里面的maven打包原则是以本地优先,如果没有去私服仓库找,然后去互联网找),最终还是放弃了这种方式,改用http协议调用移动短信接口。
tips:以后为别人提供服务尽量最小化自己工程依赖的jar包,最好jdk自带的方法,如果可以通过http是一种不错的方式,可以减少使用者的整合。
trouble1:http协议的接口调用,由于里面有一个md5加密,当时在本地intelijidea下面main方法运行正常返回成功,结果web项目里面调用的时候返回失败,通过探查:原来md5加密在tomcat和main方法里面得到的密值不一致,根本原因是tomcat的编码和inteljidea的编码不一致,在代码里有指定编码的地方统一字符编码,如utf-8。
tips:源码相同,可能跟环境有关,多排查排除。