[由于远程方关闭传输流,身份验证失败]一次处理支付接口bug记录
因公司系统升级,出现突然有些银行卡不能支付的情况,最开始排查发现是第三方平台接口返回有问题:
返回如下:
从11月7日下午开始一直联系第三方,第三方开始排查,一直说是数据格式有问题。
修改格式以后问题同样出现,又重新调试跟踪下代码,发现如下问题:
看错误描述应该是判断是访问发生问题,又想到了为什么升级以前是好好得,升级以后才出现这个问题?
重新找来官方的demo文档,重新下单测试,发现又是正常的 ?why?把所有的数据复制到系统来,发现还是不能访问。。。。
于是把系统中的请求数据直接写死:
直接访问下单页面 ,OK终于能访问了,到这以为问题已经解决,估计是数据格式问题,然后就又从下单界面测试了一次,发现又不行了 ,
我擦,为什么直接访问接口页面能够访问,通过下单界面调用接口访问而不行了呢?仍然报错误:由于远程方关闭传输流,身份验证失败。
打开百度,出现很多类似的情况,找到各种处理方法,但是都不能解决,太奇怪了啊。于是想起了用Fiddler试试看,果然在这里出现了问题。
当访问失败时请求数据为:
当访问成功时,请求数据为:
两次采用的ssl加密版本方式居然不一样,难道是随机的吗?太奇葩了吧,修改访问时,强制采用Tsl/1.0版本的加密方式:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
问题终于得到解决,然后现在已经是11月8日的下午了。
话说:对接的两个第三方平台,支付都出问题,
一个是java和.net ,对json反序列化不同,导致验证失败,他们主要使用java。
一个是没有设置正确的ssl访问加密方式,由于第三方平台没有.NET开发了,他们自己也测试不到。
还有一个支付平台,只有php和java的接口,没有.NET的接口,暂时还未对接。
怎么感觉使用.NET的突然好像变少了呢?
最新文章
- Excel中VBA进行插入列、格式化、排序
- Ubuntu 查看和杀死进程
- spring注入静态成员变量提示invalid setter method
- php从零开始
- 理解JavaScript中的事件处理
- php部分--session的三种用法
- C# Form 非法字符
- ubuntu开机遇到-您的当前网络有.local域,我们不建议这样做而且这与AVAHI网络服务探测不兼容。该服务已被禁用
- 笔记-动画篇-layout动画初体验
- mysql中的sql时间格式转换
- js工厂模式
- Gradle的简介与安装
- C#改动文件或目录的权限,为指定用户、用户组加入全然控制权限
- prototype原型解析
- 启动apache服务时报错【the requested operation has failed】
- KMP算法(研究总结,字符串)
- [例子] nginx负载均衡搭建及测试
- C++ string简单的使用技巧
- pytesseract 使用框架
- 带信号灯的最短路dijkstra问题(阿里巴巴2018校园招聘算法题)
热门文章
- ubuntu安装甲骨文最新jdk7
- 破解b站极验验证码
- mybatis动态参数(使用PreparedStatement插入#)和静态参数($)
- java导入excle表格,并且对表格进行相应的修改,并对表格数据进行整理,最后导出本地表格等一系列操作
- 基于bootstrap的图片轮播功能
- Maven 配置tomcat和findbug插件(在eclipse建立的项目中)
- java IO流实现删除文件夹以及文件夹中的内容
- 一个对inner jion ...on 的sql多表联合查询的练习
- “没有用var声明的为全局变量”这种说法不准确
- CSS3动画功能