在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误...

news/2024/5/20 4:35:50/文章来源:https://blog.csdn.net/weixin_30394633/article/details/102154819

 

这是 微信支付-统一下单 接口文档 

 

一、问题描述

在调用统一下单接口时,报mch_id参数格式错误,但商户ID确实是10位数字正确的,可就是一直报这个错误

返回的错误xml如下:

 

 

二、排错过程

1、多次对比官网xml格式,确认生成的xml是否有误

2、检查生成的xml是否带有空格、字段是否拼写有误,检查生成的xml是否有缺少或多字符

官方的xml:

 

 

 

我开发过程中生成的xml:

 

 

对比发现,我生成的xml参数比官方的参数多了CDATA等着字符,但CDATA标签是用于说明数据不被XML解析器解析的,不应该会影响xml的结构。

 

后来发现,就算我把生成的xml参数中的必须的字段从xml中移除,再去调用接口,发现还是返回一样的错误。

考虑过后,我在想:是不是发起请求的代码有误。

于是我尝试修改发起请求的代码,原使用HttpClient发起请求,改为WebRequest,发现接口正确返回数据。

三、错误原因及解决方案

由此我分析错误原因是我在.net core上使用HttpClient发起请求,却没有正确返回,不知怎么还返回了意料之外的错误(异常)

HttpClient示例代码是:

var response = await httpClient.PostAsXmlAsync(url, xml);

 

尝试使用WebRequest之后,接口正常返回数据。

 

使用WebRequest发起请求,示例代码是:

var bytes = (xml== null) ? new byte[0] : Encoding.UTF8.GetBytes(xml);

using (var ms = new MemoryStream())
{
    ms.Write(bytes, 0, bytes.Length);
    ms.Seek(0, SeekOrigin.Begin);

    var request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = "POST";

    .....后续代码省略.....

 

}

 

目前我先用WebRequest实现代码,至于为什么HttpClient发起请求返回错误,后续查找资料、分析总结。

 

转载于:https://www.cnblogs.com/gilbert/p/11512448.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_837843.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

连接打印机提示:找不到驱动程序,windows在网络上找不到Canon LBP2900的驱动程序,若要手动查找,请单击“确定”。否则,请单击“取消”并咨询你的网络管理员或者访问打印机制造商的网站

本机系统:windows server 2012 Datacenter Evaluation Build 9200 bit64 打印机USB连接的系统: windows XP SP3 bit32 解决: 问题在于本机系统与对方系统不一样,无法复制给你对应的驱动(一个是win2012,一个是xp ; 一个是64位,一个是32位) 那么就只能在网上下载本机系统的对应驱…

一文读懂网站SEO优化国际版

前言 SEO即Search Engine Optimization搜索引擎优化,目的是通过提升网站在搜索引擎的排名来提升网站的自然流量。简而言之,SEO的工作原理是向搜索引擎证明您的内容是当前主题的最佳结果。SEO技术涉及关键字研究、内容创建、链接构建和技术审核等内容。 G…

apache网站服务器

apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通…

freebsd+Heartbeat2+php+postgres实现数据库复制和高可用网站

用2节点实现。采用heartbeat老版本2.x , 采用自己编写的resource agent,没有采用OCF 1 安装freebsd——废话 2 安装apache php (略) postgres,并设置复制,见: http://blog.csdn.net/zeeeitch/ar…

python爬取网站图像文件(网络爬虫)

一、代码 from bs4 import BeautifulSoup from bs4 import UnicodeDammit import urllib.request import threading def imageSpider(start_url):global threadsglobal counttry:urls[]requrllib.request.Request(start_url,headersheaders)dataurllib.request.urlopen(req)da…

html5 交互性网站,HTML5和CSS3的新交互性盘点:炫酷体验

【IT168 技术】本文标题的这副图片,是用Phosotshop制作的。但是,在搜索引擎中你却无法搜索到它,搜索引擎还没有强大到能够识别图片里面的文字。并且由于图片的体积不算太小,可能网速慢的网友在浏览的时候不得不耐心的等待图片的刷…

百度云cdn设置州五年制大专_使用CDN提升网站速度

CDN是什么鬼,下面我们就来介绍一下,CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块&#x…

谷歌翻译影响vue_给自己的网站接入谷歌翻译,以及修复了一个谷歌翻译的一个bug...

给网站加谷歌翻译,搜索引擎一搜一大堆,这里不再赘述。只贴一个申请谷歌翻译的一个地址:https://translate.google.com/...和一段代码:下面是官方给出的代码:下面是我改良的代码:function googleTranslateEl…

mysql迅_soxuncms 搜迅电影系统php版是一套采用PHP+MySQL环境搭建的智能建站 ,拥有海量 片信息, Web Server 266万源代码下载- www.pudn.com...

文件名称: soxuncms下载 收藏√ [5 4 3 2 1 ]开发工具: PHP文件大小: 3820 KB上传时间: 2016-10-30下载次数: 0提 供 者: npg详细说明:搜迅电影系统php版是一套采用PHPMySQL环境搭建的智能建站系统,拥有海量的影片信息,本站坚持每月都有…

nginx服务器带宽_如何利用nginx搭建一个简单的文件下载网站?

12月21日 因为时间关系写的并不是特别详细,后续会补充前期准备1、首先你需要有一台云服务器腾讯云服务器购买【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元其实我个人比较推广下面这款(性价比高):【…

软件测试:测试一个网站

一、软件测试的原则 1、软件测试应尽早执行,并贯穿于整个软件生命周期 2、软件测试应追溯需求 3、测试应由第三方来构造 4、穷举测试是不可能的,要遵循 Good-enough 原则 5、必须确定预期输出(或结果) 6、必须彻底检查每个测试结果 7、充分注…

网站服务器放置地怎么填,域名备案服务器放置地怎么填

域名备案服务器放置地怎么填 内容精选换一换通过华为云备案,需要先购买华为云中国大陆节点服务器,用于网站备案使用,后称为“备案服务器”。目前可用于华为云备案的服务器,请参见备案服务器。如果您的华为云帐号A中没有可备案的服…

使用Apache服务部署静态网站

10.1 网站服务程序 1970年,作为互联网前身的ARPANET(阿帕网)已初具雏形,并开始向非军用部门开放,许多大学和商业部门开始接入。虽然彼时阿帕网的规模(只有4台主机联网运行)还不如现在的局域网成…

记一次企业邮官网SEO优化

背景: 百度搜索 网易企业邮箱 会出现m.qiye.163.com 排名在前的问题 解决办法 在pc和m站分别加入 、mobile applicable-device标注可以帮助百度识别网站是PC站还是M站,给百度提交提交校验识别结果的正确性,减少百度蜘蛛把PC站当成M站&…

nginx配合前端实现网站分流 ABtest

前端随机生成0-99的cookie,通过nginx分配10%的流量 nginx配置 前端生成cookie (function(){function random(min, max) {return Math.floor(Math.random() * (max - min)) min;}function setCookie(name, value, days) { // 设置cookie days设置过期时间 单位:天…

懂点网站交互(1):网站设计准则

别让我思考 这是网站交互设计中最最最重要的原则——它是设计中判别什么有用,什么没用的终极法则。 这意味着,当读者看到一个页面时,它应该是不言而喻、一目了然、自我解释的。 即读者能“明白它”——知道它是什么意思,怎样用…

spring boot和spring cloud 开发必备工具准备 和 必备网站导航

spring boot和spring cloud 开发必备工具准备 和 必备网站导航 本文主要介绍spring cloud开发前期准备,为以后学习和开发有一些资料保障: 常用网站: spring boot 官网英文网站,有一些简单和详细的介绍 http://projects.spring.…

懂点网站交互(3):广告牌设计101法则

在上篇文章 懂点网站交互(2):我们实际上是如何使用web的 我们可以了解到实际上用户浏览网站时并不会按我们假定的方式,而是飞快的扫视而过,那么我们如何让用户了解我们的网站呢? 1.尽量利用习惯用法 2.建立…

VUE项目实践--网站管理系统

使用vue-cli来构建一个vue项目 什么是vue-cli?有了它我们还需要webpack吗? 通过几天的学习都知道webpack的使用难度真的有点高,而且文档又很难阅读。而vue-cli是一个可用帮助我们直接进行开发vue的脚手架(帮助我们建立项目框架&…

【Hexo】如何才能在百度搜索到你的博客?SEO优化了解一下(上)

关于Hexo的一切 —— 我的Hexo专栏 零 前言 SEO,即Search Engine Optimization,译为搜索引擎优化。 它是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名的方式。 继上篇域名绑定,这篇我们来聊聊如何才能在百度搜索到你的Hexo博客…