java消息平台_Java微信公众平台之消息管理

Java微信公众平台开发之消息管理,一定要先看下官方文档

微信消息管理分为接收普通消息、接收事件推送、发送消息(被动回复)、客服消息、群发消息、模板消息这几部分

一、接收普通消息

当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。

关于MsgId,官方给出解释,相当于每个消息ID,关于重试的消息排重,推荐使用msgid排重。微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。

比如文本消息的Xml示例

1348831860

1234567890123456

其他的消息去官方文档查看,简单封装如下

消息抽象基类AbstractMsg.java

package com.phil.wechat.msg.model.req;

import java.io.Serializable;

/**

* 基础消息类

*

* @author phil

*

*/

public abstract class AbstractMsg implements Serializable {

private static final long serialVersionUID = -6244277633057415731L;

private String ToUserName; // 开发者微信号

private String FromUserName; // 发送方帐号(一个OpenID)

private String MsgType = SetMsgType(); // 消息类型 例如 /text/image

private long CreateTime; // 消息创建时间 (整型)

private long MsgId; // 消息id,64位整型

/**

* 消息类型

*

* @return

*/

public abstract String SetMsgType();

}

文本消息TextMsg.java

package com.phil.wechat.msg.model.req;

/**

* 文本消息

* @author phil

* @date 2017年6月30日

*

*/

public class TextMsg extends AbstractMsg {

private static final long serialVersionUID = -1764016801417503409L;

private String Content; // 文本消息

@Override

public String SetMsgType() {

return "text";

}

}

其他的依样画葫芦......

二、被动回复用户消息

微信服务器在将用户的消息发给公众号的开发者服务器地址(开发者中心处配置)后,微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。

如果出现“该公众号暂时无法提供服务,请稍后再试”,原因有两个

开发者在5秒内未回复任何内容

开发者回复了异常数据

比如回复的文本消息Xml示例

12345678

简单封装下

回复消息抽象基类RespAbstractMsg.java

package com.phil.wechat.msg.model.resp;

import java.io.Serializable;

/**

* 消息基类(公众帐号 -> 普通用户)

*

* @author phil

*

*/

public abst

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值