环信java后台发送消息时提示msg 应该为JSONObject 的坑

解决了 ,问题不在传TextMessageBody 的msg参数的json格式,而是TextMessageBody 本身的getbody方法有问题。
    public ContainerNode<?> getBody() {
        if (!isInit()) {
            // this.getMsgBody().put("type", MsgType.TEXT);
            // this.getMsgBody().put("msg", msg);

ObjectNode jsonNode = JsonNodeFactory.instance.objectNode();
            jsonNode.put("type", MsgType.TEXT);
            jsonNode.put("msg", msg);
            this.getMsgBody().put("msg", jsonNode);
            this.setInit(true);

}

return this.getMsgBody();
    }

更改了下getbody方法。这样就可以了。

时间: 2024-10-26 14:35:02

环信java后台发送消息时提示msg 应该为JSONObject 的坑的相关文章

解决Handler发送消息时:this message is already in use

为了避免在主线程中进行耗时操作,我们经常使用handler来发送消息处理耗时操作. 有时候会出现程序崩溃然后控制台显示this message is already in use的报错信息 报错的信息是指:发送的message正在消息队列中,不能被使用. 其实就是当我们想多次发送消息时,不能使用同一个消息的意思,所以解决的方法就是再次发送的时候重新获取一个新的消息. 注: 不推荐直接使用Message的构造方法创建对象,而是应该通过Message类的静态方法obtain()获取消息对象,该方法会

在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常. 解决办法: 1.定位到报错的方法为WWXML.java文件中的createDocumentBuilder方法: pub

Java后台发送Post请求,数据传输格式JSON

代码如下: 1 package com.test; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 7 import net.sf.json.JSONObject; 8 9 import org.apache.http.HttpResponse; 10 import org.apache.http.HttpStatus; 11 import

java后台发送请求并获取返回值(续)

在java后端发送请求给另一个平台,从而给前端实现 "透传"的过程中,出现:数据请求到了并传到了前端,但是控制台打印时中文显示Unicode码而前端界面中中文显示不出来!!!开始怀疑是编码格式或透传过程中处理的问题,将编码格式进行了设置并查资料了解了一下透传过程中代码的处理方法,虽然最后发现是前后端定义的json串的属性名称不一致导致(后端传输数据中属性名label写成了lable...),但在此还是记录一下"透传"处理过程中处理数据流的三种方式. 主要是介绍经常用

一个按键精灵后台发送消息的脚本

以前,我也用过按键精灵写过一些脚本,那时候经常用这个来挂机FB什么的. 那天,某网友问起,于是就回答了下 无非就是,抓句柄,然后相对定位坐标或者发送消息到固定窗体 代码如下: 1 //////////////////////////抓窗口句柄////////////////////////////////////////// 2 3 Dim Hwnd 4 5 Hwnd = Plugin.Window.MousePoint() 6 7 sWindow = Plugin.Window.IsWindo

黄聪:WordPress 后台发布文章时提示用户选择分类

很多用户在后台发布文章,常常会忘记选择分类,所以很有必要添加一个提醒功能,如果没有选择分类,点击发布时,就显示一个提示信息.要实现这个功能,只要将下面的代码添加到主题的 functions.php 即可: /** * WordPress 发布文章前必须选择分类 * http://www.wpdaxue.com/choose-a-category-before-publish.html */ add_action('admin_footer-post.php', 'choose_a_categor

给RabbitMQ发送消息时,设置请求头Header。

消费者 由于消费者那里,@Payload是接受的消息体,使用了@Header注解,需要请求头,生产者这边就要设置,如下代码: 这是RabbitTemplate中的converAndSend(exchang,routingKey,消息体,消息头)方法. @Override public void convertAndSend(String exchange, String routingKey, final Object message, final MessagePostProcessor me

lambda表达式在解决java后台分组排序时的应用

需求:按照起始日期查询出数据库里一段连续日期的住院信息. 问题:数据库里的住院信息可能不是完整的,也就是在给出的日期区间里只有若干天的数据,缺少某些日期的数据. 解决: 1.需要我们先按日期分组查出数据库里有的数据: 2.然后遍历日期,将不存在的日期以日期为key,value为null插入集合里: 3.对集合里的key即日期进行排序. 注:这里分组和排序都用JDK8的新特性lambda表达式 1 /** 2 * 3 * @param startTime 开始时间 4 * @param endTi

kafka无法发送消息问题处理

背景 在服务器上搭建了一个单机环境的kafka broker,在服务器上使用命令生产消息时,一切正常.当在本地使用JAVA程序发送消息时,一直出错. 抛出的错误为: Exception in thread "main" Failed to send requests for topics test with correlation ids in [0,12] kafka.common.FailedToSendMessageException: Failed to send messag