一 消息通信
1 公众平台的消息通信过程
以上5个步骤中,作为开发这我们主要的精力都集中在3步骤,主要包含3个任务:
1)接收来自2的xml消息;
2)服务器内部逻辑处理
3)组织并返回用于4的xml的信息
2 xml的通信格式
<XML> <TOUSERNAME><![CDATA[GH_A96A4A619366]]></TOUSERNAME> <FROMUSERNAME><![CDATA[OLPJZJSXUQPJOV0HLRUZKNZKC91E]]></FROMUSERNAME> <CREATETIME>1357986928</CREATETIME> <MSGTYPE><![CDATA[TEXT]]></MSGTYPE> <CONTENT><![CDATA[TNT2]]></CONTENT> <MSGID>5832509444155992350</MSGID> </XML>
参数 | 描述 |
ToUserName | 开发者微信号 |
FromUserName | 发送方账号(一个openid) |
CreateTime | 消息创建时间(整型) |
MsgType | text |
Content | 文本消息内容 |
MsgId | 消息id 64位整型 |
MsgId需要注意下,它实际上是微信的一个容错机制,当应用服务器不能响应微信服务器时,微信服务器会发送多条
相同Msgid的信息到应用服务器,以防止丢包的情况。这时我们需要对MsgId进行去重,否则会多次执行同一个请求。
<XML> <TOUSERNAME><![CDATA[OLPJZJSXUQPJOV0HLRUZKNZKC91E]]></TOUSERNAME> <FROMUSERNAME><![CDATA[GH_A96A4A619366]]></FROMUSERNAME> <CREATETIME>12345678</CREATETIME> <MSGTYPE><![CDATA[TEXT]]></MSGTYPE> <CONTENT><![CDATA[CONTENT]]></CONTENT> <FUNCFLAG>0</FUNCFLAG> </XML>
对应的官方说明
参数 | 描述 |
ToUserName | 接收方账号(收到的openid) |
FromUserName | 开发者微信号 |
CreateTime | 消息创建时间(整型) |
MsgType | text |
Content | 回复的消息内容,长度不超过2048字节 |
原文:https://www.cnblogs.com/123-com/p/12800142.html