请教关于使用C#进行微信开发的XML的接收问题

phantom92 2017-11-20 04:18:50
public void getmsg()
{

Stream stream = HttpContext.Current.Request.InputStream;
Byte[] postBytes = new Byte[stream.Length];
stream.Read(postBytes, 0, (Int32)stream.Length);
string postString = Encoding.UTF8.GetString(postBytes);

if (!string.IsNullOrEmpty(postString))
{
//封装请求类

XmlDocument requestDocXml = new XmlDocument();
requestDocXml.LoadXml(postString);
XmlElement rootElement = requestDocXml.DocumentElement;
textMsg WxXmlModel = new textMsg();
WxXmlModel.ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText;
WxXmlModel.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;
WxXmlModel.CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText;
WxXmlModel.MsgType = rootElement.SelectSingleNode("MsgType").InnerText;
switch (WxXmlModel.MsgType)
{
case "text"://文本
WxXmlModel.Content = rootElement.SelectSingleNode("Content").InnerText;
break;

default:
break;
}
requestDocXml.Save("D:/get.xml");
backmsg(WxXmlModel);//回复消息






}
}
public void backmsg(textMsg WxXmlModel)
{


string textpl = string.Empty;
textpl = "<xml>" +
"<ToUserName><![CDATA[" + WxXmlModel.FromUserName.ToString() + "]]></ToUserName>" +
"<FromUserName><![CDATA[" + WxXmlModel.ToUserName.ToString() + "]]></FromUserName>" +
"<CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime>" +
"<MsgType><![CDATA[text]]></MsgType>" +
"<Content><![CDATA[" + WxXmlModel.Content.ToString() + "1" + "]]></Content>" +
"<FuncFlag>0</FuncFlag>" +
"</xml>";

XmlDocument xml = new XmlDocument();

xml.LoadXml(textpl);


if (!string.IsNullOrEmpty(textpl))
{
HttpContext.Current.Response.Write(xml);
HttpContext.Current.Response.End();
}
}
public int ConvertDateTimeInt(DateTime dt)
{
dt = DateTime.Now;
string strdt = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString();
strdt = strdt.Substring(2);
int intdt = Convert.ToInt32(strdt);
return intdt;
}


找来找去找不到问题在哪,我直接手动把xml格式的写入读取xml变量,然后保存要发送的xml,出来倒是正常的。请各位指教下问题在哪,不胜感激
...全文
433 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuhangit 2017-11-27
  • 打赏
  • 举报
回复
引用 8 楼 phantom92 的回复:
[quote=引用 7 楼 Z6454610012 的回复:] 调试一下就知道了
微信服务器向公众号服务器发送数据怎么调试?[/quote] 本地映射到外网,绑定微信即可。 或者你把关键步骤的日志都记录下来,写日志放到finally里面,你这样报错是不会记录日志的
phantom92 2017-11-23
  • 打赏
  • 举报
回复
引用 7 楼 Z6454610012 的回复:
调试一下就知道了
微信服务器向公众号服务器发送数据怎么调试?
zhuhangit 2017-11-22
  • 打赏
  • 举报
回复
调试一下就知道了
正怒月神 版主 2017-11-21
  • 打赏
  • 举报
回复
你对比一下生成的xml,有什么区别吗
phantom92 2017-11-21
  • 打赏
  • 举报
回复
没有人吗,还是我发错地方了?
phantom92 2017-11-21
  • 打赏
  • 举报
回复
谢谢楼上两位的建议,但是我中间有一步是把xml保存到本地,我向微信发现信息后,本地什么都没有,所以我觉得是不是接收的地方有问题?
mirrorspace 2017-11-21
  • 打赏
  • 举报
回复
自己拼接微信的XML参数,这种是容易出错的.一般做法是,找到这个接口的文档,将它的示例XML代码直接复制过来.然后直接改里面的值.如果需要动态生成,也是将这示例做为模板.
正怒月神 版主 2017-11-21
  • 打赏
  • 举报
回复
我的微信开发里,好像没有 <FuncFlag>0</FuncFlag> 这个节点
phantom92 2017-11-21
  • 打赏
  • 举报
回复
引用 2 楼 hanjun0612 的回复:
你对比一下生成的xml,有什么区别吗
你是说我本地生成的xml吗,我看过,就是要传回去的格式对的
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧