目录
1. 验证url接口get请求本地自测报错
2. 测试回调模式成功不返回结果
3. 测试回调模式返回结果带双引号
对接企业微信 产生会话回调事件 接口问题解决
1. 验证url接口get请求本地自测报错
java.lang.IllegalArgumentException: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value.
这是因为commons-codec引入的jar包版本问题,仔细阅读就会看到下载到WXBizMsgCrypt类里有注释版本问题
当前项目中使用的版本是commons-codec-1.13版本的
最终1.13版本按照下面方式生成一个String,去掉末尾的“=”后(因为企微原本代码里有补上“=”的逻辑),使用生成的字符串作为EncodingAESKey
Base64.encodeBase64String(UUID.randomUUID().toString().replaceAll("-","").getBytes());
参考 https://blog.csdn.net/qq_36830575/article/details/106646545
2. 测试回调模式成功不返回结果
解决:http改为https
具体原因还需要研究下
3. 测试回调模式返回结果带双引号
接口返回类型为String,输出结果显示为“123456”,具体是因为json会格式化结果。公司内部平台配置不json结果即可
如果是controller代码,可以参考:SpringBoot返回应答为String类型时,默认带双引号(““),取消双引号的方法_springboot 返回字符串带双引号解决-CSDN博客