JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.43k stars 4.35k forks source link

企业微信接入抛出异常 RequestMessage转换出错!可能是MsgType和InfoType都不存在! #2932

Open hpf869144532 opened 12 months ago

hpf869144532 commented 12 months ago

此版块专为反馈 bug 及提交需求服务,不负责解答开发问题,请勿发表开发问题, 如果您需要这方面的帮助,请移步问答社区https://weixin.senparc.com/QA

问题描述

接入企业微信,事件通知为 <![CDATA[change_external_chat]]>时,抛出异常 RequestMessage转换出错!可能是MsgType和InfoType都不存在!

报错信息如下: [16:20:07 INF] Message: RequestMessage转换出错!可能是MsgType和InfoType都不存在!, XML: SuiteId><![CDATA[ww9d5***50c]]></SuiteId AuthCorpId><![CDATA[ww6ad**ee02]]></AuthCorpId InfoType><![CDATA[change_external_chat]]></InfoType TimeStamp>1698049207</TimeStamp ChatIdx![CDATA[wrhwJvCgAAi9y050rUbbIrOmPBqhJLAg]]></ChatIChangeType <![CDATA[update]]x<![CDATA[add member]]></UpdateDetail JoinScene>0</JoinScene MemChangeCnt>1</xmI StackTrace:at Senparc.Weixin.Work.RequestMessageFaciory.GetRequestEntity[TMC](TMC messageContext,XDocument doc)at Senparc.Weixin.Work.MessageHandlers.WorkMessageHandlerInit(XDocument postDataDocument,IEncryptPostModel postModel)at WxOpen.Web.Controllers.WorkController.callback(PostModepostModel) in /data/jenkins/workspace/live-weixin/WxOpen.WebControllers/WorkController.cs:line 116

重现问题步骤(如果可以)
  1. ...
  2. ...
微信官方文档 URL
微信官方文档快照(直接复制关键内容到下方)
发现问题的模块
模块对应的 .net 版本
开发环境
缓存环境
系统环境
联系方式

Email:

(也可将问题地址及联系方式发送到 zsu@senparc.com)

发布问题后,请保持对 issue 的关注,有时会有需要进一步沟通的信息,很长时间内没有得到答复的 issue 将被关闭。

JeffreySu commented 12 months ago

@hpf869144532 是否能提供解密后的完整的XML?谢谢!

hpf869144532 commented 11 months ago
<xml>
  <SuiteId><![CDATA[ww9d5e6d50a1e3150c]]></SuiteId>
  <AuthCorpId><![CDATA[ww6ad38ae64107ee02]]></AuthCorpId>
  <InfoType><![CDATA[change_external_chat]]></InfoType>
  <TimeStamp>1698411811</TimeStamp>
  <ChatId><![CDATA[wrhwJvCgAA3sOUmi-G6s1fCjJNeYaAjA]]></ChatId>
  <ChangeType><![CDATA[update]]></ChangeType>
  <UpdateDetail><![CDATA[del_member]]></UpdateDetail>
  <QuitScene>0</QuitScene>
  <MemChangeCnt>1</MemChangeCnt>
</xml>
JeffreySu commented 11 months ago

确实缺少 change_external_chat 类型,已经列入计划。

hpf869144532 commented 11 months ago

目前这几个消息事件类型:RequestMessage转换异常!InfoType类型存在的情况下无法处理的情况 image

企业微信文档https://developer.work.weixin.qq.com/document/path/92277#%E4%BC%81%E4%B8%9A%E5%AE%A2%E6%88%B7%E6%A0%87%E7%AD%BE%E5%88%9B%E5%BB%BA%E4%BA%8B%E4%BB%B6

image

JaneConan commented 6 months ago

@hpf869144532 您好,我们看到在 v3.18.1版本 已经修复了您的这个问题,请问您,目前又再次测试过么,谢谢

https://github.com/JeffreySu/WeiXinMPSDK/blob/70b515cd4ffe9e0b966cc5768f5ca75996004487/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_External_Chat.cs#L107

image