热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

publicvoidgetmsg(){StreamstreamHttpContext.Current.Request.InputStream;
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 = "" +
                      "" +
                     "" +
                     "" + ConvertDateTimeInt(DateTime.Now) + "" +
                      "" +
                      "" +
                      "0" +
                      "
";

            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,出来倒是正常的。请各位指教下问题在哪,不胜感激

9 个解决方案

#1


没有人吗,还是我发错地方了?

#2


你对比一下生成的xml,有什么区别吗

#3


引用 2 楼 hanjun0612 的回复:
你对比一下生成的xml,有什么区别吗

你是说我本地生成的xml吗,我看过,就是要传回去的格式对的

#4


我的微信开发里,好像没有 0 这个节点

#5


自己拼接微信的XML参数,这种是容易出错的.一般做法是,找到这个接口的文档,将它的示例XML代码直接复制过来.然后直接改里面的值.如果需要动态生成,也是将这示例做为模板.

#6


谢谢楼上两位的建议,但是我中间有一步是把xml保存到本地,我向微信发现信息后,本地什么都没有,所以我觉得是不是接收的地方有问题?

#7


调试一下就知道了

#8


引用 7 楼 Z6454610012 的回复:
调试一下就知道了

微信服务器向公众号服务器发送数据怎么调试?

#9


引用 8 楼 phantom92 的回复:
Quote: 引用 7 楼 Z6454610012 的回复:

调试一下就知道了

微信服务器向公众号服务器发送数据怎么调试?


本地映射到外网,绑定微信即可。
或者你把关键步骤的日志都记录下来,写日志放到finally里面,你这样报错是不会记录日志的

推荐阅读
  • C#爬虫Fiddler插件开发自动生成代码
    哈喽^_^一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成 ... [详细]
  • 本文提供了一个Android应用中用于抓取网页信息并下载图片的示例代码。通过该代码,开发者可以轻松实现从指定URL获取网页内容及其中的图片资源。 ... [详细]
  • 本文介绍了一种算法,用于在一个给定的二叉树中找到一个节点,该节点的子树包含最大数量的值小于该节点的节点。如果存在多个符合条件的节点,可以选择任意一个。 ... [详细]
  • 本文探讨了Web API 2中特性的路由机制,特别是如何利用它来构建RESTful风格的URI。文章不仅介绍了基本的特性路由使用方法,还详细说明了如何通过特性路由进行API版本控制、HTTP方法的指定、路由前缀的应用以及路由约束的设置。 ... [详细]
  • 本文详细介绍了如何将After Effects中的动画相机数据导入到Vizrt系统中,提供了一种有效的解决方案,适用于需要在广播级图形制作中使用AE动画的专业人士。 ... [详细]
  • 本文探讨了在使用 ClickOnce 部署方式时遇到的自动更新失败问题,包括本地安装与服务器安装的不同表现,并提供了详细的解决方案。 ... [详细]
  • PHP 5.4.8 编译安装指南
    本文详细介绍了如何在Linux环境下编译安装PHP 5.4.8,并配置为FastCGI模式运行。包括所需依赖包的安装、源代码下载、编译配置及启动服务等步骤。 ... [详细]
  • 解决JavaWeb项目中因IPv6导致的IP转换错误
    本文探讨了在JavaWeb项目中,当尝试将客户端IP地址从字符串形式转换为整数时遇到的问题,并提供了详细的解决方案。具体问题表现为在本地环境中通过`request.getRemoteHost()`获取到的IP地址为IPv6格式,而非预期的IPv4格式。 ... [详细]
  • 本文探讨了在使用Apache Flink向Kafka发送数据过程中遇到的事务频繁失败问题,并提供了详细的解决方案,包括必要的配置调整和最佳实践。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • Lua基本语法lua与C#的交互(相当简单详细的例子)
    lua脚本与C#的交互本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验——高分辨率用户请根据需求调整网页缩放比例)1LuaAndC#——L ... [详细]
  • 2020年腾讯PCG后端开发实习生面试经历分享
    本文详细记录了2020年腾讯平台与内容事业群(PCG)后端开发实习生岗位的面试过程,包括初试和复试的主要内容和技术考察点。 ... [详细]
  • Java 中静态和非静态嵌套类的区别 ... [详细]
  • 本文深入探讨了HTML5中十五个重要的新特性,为开发者提供了详细的指南。 ... [详细]
author-avatar
吃羊的肉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有