12下一页
发帖
查看: 16306|回复: 13

关于自定义消息用MessageAction发送有错误,无法收到的咨询

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-17 12:30:03 | 显示全部楼层 |阅读模式
本帖最后由 zningsc 于 2023-3-17 12:43 编辑

用自定义消息接口MessageAction方法发消息,如图

发送后没收到,查询发送有记录

日志中有如下错误,钉钉和系统消息都没能收到,请问如何解决才能发送成功呢?
NFO
2023-03-17 12:38:46.063
2023-03-17 12:38:46.063 [ApplicationServerQueuedThreadPool-42730] INFO com.x.jpush.assemble.control.jaxrs.message.ActionSendMessage - execute action 'ActionSendMessage'......

INFO
2023-03-17 12:38:46.063
2023-03-17 12:38:46.063 [ApplicationServerQueuedThreadPool-42730] INFO com.x.jpush.assemble.control.jaxrs.message.ActionSendMessage - person:XXXXXXX@P

INFO
2023-03-17 12:38:46.064
2023-03-17 12:38:46.064 [ApplicationServerQueuedThreadPool-42730] INFO com.x.jpush.assemble.control.jaxrs.message.ActionSendMessage - 极光推送通道启用中,消息发送到极光推送

INFO
2023-03-17 12:38:46.088
2023-03-17 12:38:46.088 [ApplicationServerQueuedThreadPool-42730] INFO com.x.jpush.assemble.control.jaxrs.message.ActionSendMessage - 极光推送设备为空,赵宁@manager9983@P

INFO
2023-03-17 12:38:46.088
2023-03-17 12:38:46.088 [ApplicationServerQueuedThreadPool-42730] INFO com.x.jpush.assemble.control.jaxrs.message.ActionSendMessage - action 'ActionSendMessage' execute completed!

ERROR
2023-03-17 12:38:46.160
2023-03-17 12:38:46.160 [com.x.message.assemble.communicate.DingdingConsumeQueue] ERROR com.x.message.assemble.communicate.DingdingConsumeQueue - id:82c57fc9-85a2-45f9-bb45-7cb7a3e7a843, name:com.x.message.assemble.communicate.DingdingConsumeQueue, message:Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive, exception:com.google.gson.JsonSyntaxException.

com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive

at com.google.gson.internal.bind.TypeAdapters$33$1.read(TypeAdapters.java:869) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:963) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:928) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:877) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:848) ~[gson-2.8.9.jar:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue$OuterMessageHelper.getOpenPageUrl(DingdingConsumeQueue.java:290) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.getDingdingOpenWorkUrl(DingdingConsumeQueue.java:172) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.getOpenUrl(DingdingConsumeQueue.java:118) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:42) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:24) ~[classes/:?]

at com.x.base.core.project.queue.AbstractQueue$1.run(AbstractQueue.java:44) ~[x_base_core_project.jar:?]

ERROR
2023-03-17 12:38:46.162
2023-03-17 12:38:46.162 [com.x.message.assemble.communicate.DingdingConsumeQueue] ERROR com.x.message.assemble.communicate.DingdingConsumeQueue - id:444b52ad-8d2d-4854-ae1d-13fe232bf4be, name:com.x.message.assemble.communicate.DingdingConsumeQueue, message:Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive, exception:com.google.gson.JsonSyntaxException.

com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive

at com.google.gson.internal.bind.TypeAdapters$33$1.read(TypeAdapters.java:869) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:963) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:928) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:877) ~[gson-2.8.9.jar:?]

at com.google.gson.Gson.fromJson(Gson.java:848) ~[gson-2.8.9.jar:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue$OuterMessageHelper.getWorkIdFromBody(DingdingConsumeQueue.java:308) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.getDingdingOpenWorkUrl(DingdingConsumeQueue.java:175) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.getOpenUrl(DingdingConsumeQueue.java:118) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:42) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:24) ~[classes/:?]

at com.x.base.core.project.queue.AbstractQueue$1.run(AbstractQueue.java:44) ~[x_base_core_project.jar:?]

ERROR
2023-03-17 12:38:46.451
2023-03-17 12:38:46.451 [com.x.message.assemble.communicate.DingdingConsumeQueue] ERROR com.x.message.assemble.communicate.DingdingConsumeQueue - id:fcdf82d2-8c50-41d9-a0d1-b4c6278a6937, name:com.x.message.assemble.communicate.DingdingConsumeQueue, message:发送钉钉消息失败,错误代码:400002,错误消息:text.content 参数不能为空., exception:com.x.message.assemble.communicate.ExceptionDingdingMessage.

com.x.message.assemble.communicate.ExceptionDingdingMessage: 发送钉钉消息失败,错误代码:400002,错误消息:text.content 参数不能为空.

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:84) ~[classes/:?]

at com.x.message.assemble.communicate.DingdingConsumeQueue.execute(DingdingConsumeQueue.java:24) ~[classes/:?]

at com.x.base.core.project.queue.AbstractQueue$1.run(AbstractQueue.java:44) ~[x_base_core_project.jar:?]



用群发那个MassAction方法钉钉就可以收到,用enableType看到是开启的钉钉发送,这个设置不知道在哪里?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-17 13:00:58 | 显示全部楼层
补充一下,流程审批各节点的各种消息钉钉和系统中都是能正常接收到的。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-3-17 15:41:27 | 显示全部楼层
看起来您这里是消息生成了,但是钉钉并没有成功消费掉,应该是您的这个消息体内容有问题,您检查一下格式问题
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-17 17:19:05 | 显示全部楼层
论坛管理员 发表于 2023-3-17 15:41
看起来您这里是消息生成了,但是钉钉并没有成功消费掉,应该是您的这个消息体内容有问题,您检查一下格式问 ...

谢谢!消息体没有别的任何内容,就是个123。另外pmsinner没有消费成功,也没看到任何错误。
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-17 22:18:07 | 显示全部楼层
MassAction方法是用什么方式发送的呢,MessageAction方法是用了极光推送,看日志好像MassAction方法并没有用极光
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-19 10:17:53 | 显示全部楼层
论坛管理员 发表于 2023-3-17 15:41
看起来您这里是消息生成了,但是钉钉并没有成功消费掉,应该是您的这个消息体内容有问题,您检查一下格式问 ...

我这边用发起流程时系统成功发送钉钉提醒的消息做了对比测试,发现,自定义消息用MessageAction发送,如果body中这样写{   "work": "xx" },钉钉就能收到,是不是意味着,有work时,自定义消息发送的时候,自动加上了日志报错中的错误消息:text.content 参数不能为空.,这个参数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-19 10:44:49 | 显示全部楼层
我是通过将能正常收到的流程提醒中的xbody数据库的值复制出来一部分一部分删掉用MessageAction发送测试发现保留work就能发送成功的。但是我用内容管理发布时能收到的提醒消息中xbody复制出来用MessageAction发送,同样日志是报这个错误错误消息:text.content 参数不能为空。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-3-20 15:59:10 | 显示全部楼层
那您检查一下这两者有什么区别,应该是某个必须字段被删掉了
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-20 16:18:31 | 显示全部楼层
论坛管理员 发表于 2023-3-20 15:59
那您检查一下这两者有什么区别,应该是某个必须字段被删掉了

可能我没描述清楚,现在的问题就是text.content 参数不能为空这个错误,如果body中放的是{   "work": "xx" }就能发送成功而不会报错,单独写个字符也会报错,如果是把内容管理发布时的消息内容放进去,也会报那个错,所以我在想是不是这个方法在发送{   "work": "xx" }的时候会自动将text.contenct参数赋值从而不报错。
回复

使用道具 举报

升级   16.61%

139

主题

252

回帖

1661

积分

注册会员

Rank: 2

积分
1661
发表于 2023-3-20 16:24:26 | 显示全部楼层
还有就是通过body填写为{   "work": "xx" },钉钉收到的消息是一个带查看详情的样式,这个样式的内容是在哪里能修改呢
回复

使用道具 举报

12下一页
发帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread