目录

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博客

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐