【IO异常】HTTP请求报错Error writing to server

news2024/11/20 1:38:24

报错信息如下:

[2023-01-04 13:36:02.185]-ERROR-[biz:aplus-task-oms1060189862335877121][sys:aplus-cms-tran1060189866052390912][com.phfund.aplus.cms.tran.module.counter.service.impl.OcrServiceImpl-102][调用远程服务发送文件异常:]
cn.hutool.http.HttpException: Error writing to server
at cn.hutool.http.HttpResponse.init(HttpResponse.java:423)
at cn.hutool.http.HttpResponse.initWithDisconnect(HttpResponse.java:396)
at cn.hutool.http.HttpResponse.+init+(HttpResponse.java:76)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:966)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:930)
at com.phfund.aplus.cms.tran.module.counter.service.impl.OcrServiceImpl.sendDataToOcr(OcrServiceImpl.java:82)

分析

排查出该报错为外调其他系统时发生,当传入参数数据过大(10M左右)就会必现

工具类

开始以为是hutool工具类发送请求参数过大的问题,换成apache自带的HTTP工具类,结果依然出现报错
报错如下:

Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.6.0_43]
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) ~[na:1.6.0_43]
at java.net.SocketOutputStream.write(SocketOutputStream.java:136) ~[na:1.6.0_43]

请求方

初步猜测是请求方将数据上传给服务端时写入有误
1、是不是请求方HTTP链接时间过短,导致数据还没有传递完就断开了。所以设置了HTTP超时时间为30s,测试仍旧会报错。
2、或许请求方还有别的设置有问题,现在换了一个本地的服务发送同样的数据,发现成功了,所以现在开始怀疑的服务方的问题
3、用POSTMAN发送请求到服务方,报错一致,更加坚定是服务方的问题

服务方

果然在服务方有报错:

01-04 16:26:54.443 ERROR [c.d.a.framework.boot.error.RestExceptionTranslator] - 消息不能读取
01-04 16:26:54.451 ERROR [c.d.a.framework.boot.error.RestExceptionTranslator] - 消息不能读取
01-04 16:26:54.460 ERROR [c.d.a.framework.boot.error.RestExceptionTranslator] - 消息不能读取
01-04 16:26:54.471 ERROR [c.d.a.framework.boot.error.RestExceptionTranslator] - 消息不能读取

接收请求的buffer设置得有点小,然后关闭了TCP连接,请求方没拿到HTTP报错返回,再继续写TCP连接得时候,遇到了关闭TCP得错误,所以打了这个日志
查询资料,发现springboot在接收文件和request请求时,会设置默认的大小,参数如下:
在这里插入图片描述
将maxRequestSize调大,测试,可行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一、HTML5

文章目录一、HTML5二、html5的基本结构三、基本标签四、HTML常用标记4.1 文本标题(h1-h6)4.2 段落文本p4.4 空格4.5 换行 br4.6 水平线4.7 加粗标记4.8 倾斜4.9 扩展4.10 列表4.10.1 ul 无序列表4.10.2 ol 有序列表4.10.3 dl 自定义列表五、块级标签、行级标签一、HTML5 H5是H…

洛谷 P1886 滑动窗口 /【模板】单调队列

滑动窗口 /【模板】单调队列 题目描述 有一个长为 nnn 的序列 aaa,以及一个大小为 kkk 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 例如: The array is [1,3,−1,−3,5,3,…

辨别三星内存条的真假

目录前言一、三星内存为什么水深?二、通过物理手段辨别1.包装2.日期3.是否透光4.颜色5.电阻颜色6.颗粒丝印(重点)7.其他标签或字迹结语前言 本文截止2023.2.2,针对笔记本内存条 省流:直接JD自营 最近随手在tb买了条三星…

快速掌握任意 Android 应用的抓包

抓包是流量分析的基础,也是安全研究重要的一环。抓包软件有很多种,如 Burpsuite、mitmproxy 以及 Fiddle,抓包方式常见的有设置系统代理、AP 热点抓包、透明代理等。不同方式有不同优缺点,也有不同的应用场景。相信很多安全研究者…

Google Analytics | 学习笔记

一.简介 1.什么是GA? 是谷歌开发的一款分析网页流量的工具,可以帮助网站解决数据分析与统计的问题,并且将这些数据可视化展现报告出来,帮助网站商家更好的分析受众,流量等,从而更好地进行运营网站营销等 …

UV统计的学习

12.1 、UV统计-HyperLogLog 首先我们搞懂两个概念: UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录1次。 PV:全称Page View&am…

大龄考生上岸浙大MPA的“曲线救国”策略

先来介绍一下我个人的背景把,我是通过参加浙大提前批面试获得A资格,笔试接近两百分上岸MPA项目的。说起来我的个人优势真的不多,只是一个普通一本,不是什么211/985的名校,所以就对浙大有一种向往,使得自己的…

【数据结构】1.4 算法和算法分析

文章目录1. 算法的定义及特性算法的特性算法设计的要求2. 算法的时间复杂度分析算法时间复杂度的基本方法算法时间复杂度分析例题算法时间复杂度的计算3. 算法的空间复杂度1. 算法的定义及特性 算法的定义 对特定问题求解方法和步骤的一种描述,它是指令的有限序列…

C++:String类应用

string对象的构造 //string() string(const string &s) string(const char *s) string(first,last) void TestString01() {string s1;string s2("hello");string s3(s2);const char* p "hello";string s4(p, p 2);cin >> s1;cout << …

微信小程序 Springboot旅游景点酒店预订管理系统 java

功能模块划分 &#xff08;1&#xff09;用户信息管理模块 用户管理模块主要是对用户信息进行管理。包括&#xff1a; 用户的注册&#xff1a;实现用户信息的注册&#xff0c;用户注册是的信息校验&#xff0c;用户信息的保存。 用户的登录&#xff1a;检验用户是否为该网站的合…

如何打造优秀高绩效的团队?Google亚里士多德计划揭开谜底!

研究人员通过亚里士多德计划开展研究&#xff0c;通过对大量团队效率进行定性&#xff08;360主观评估&#xff09;与定量&#xff08;产出成果度量&#xff09;结合的统计评估&#xff0c;筛选出左右着团队动态的五个关键支柱&#xff1a;心理安全、可靠性、结构和清晰度、意义…

Nginx与Upstream之间产生大量TIME_WAIT连接的解决办法

1. 现象 Nginx反向代理了一个Java服务&#xff0c;QPS大概是200&#xff0c;问题发生时的Nginx配置&#xff1a; location / {proxy_pass http://192.168.3.4:18600; }在上游Java服务器上可以观察到大量&#xff08;约2000个&#xff09;的TIME_WAIT状态的网络连接 从Nginx…

一位十年测试老前辈的修炼之路,希望能帮你点清现实

对于刚进入软件测试工作岗位的新人&#xff0c;如何快速、健康的在职业道路上成长&#xff0c;作者谈了几点自己看法&#xff1a; 1、兴趣是最好的老师 对于软件测试工作&#xff0c;通常是比较枯燥的&#xff0c;如果没有兴趣很难做到持久。 我最近参与了一个软件测试项目&a…

Plecs电力电子仿真专业教程-第一季 第三节 Plecs界面介绍

Plecs电力电子仿真专业教程-第一季 第三节 Plecs界面介绍 Plecs仿真软件主要包含两个部分&#xff1a;元件库窗口和电路图编辑窗口。元件库窗口主要用于选择仿真所用到的电子元器件&#xff0c;通过拖拽的方式可以将所需要的元器件放置在主电路图窗口中。 主界面窗口如下&…

网络类型、路由封装实验

实验1. 拓扑搭建2. 配置各路由器物理接口IP地址边界路由器到ISP通测试PAP认证CHAP认证R3与R5间使用HDLC封装R1与R4为GRE环境R1、R2、R3为MGRE环境私有网络基于RIP全网可达给PC配置IP地址测试ping通性环境&#xff1a;华为模拟器 实验要求 1. 拓扑搭建 2. 配置各路由器物理接口…

【目标检测】MMYOLO | 如何使用 MMYOLO 训练模型

文章目录一、MMYOLO 简介1.1 MMYOLO 的安装和简单训练1.2 详细配置参数1.3 构建 Cat 数据集的 Config 文件1.3.1 数据集分布可视化1.3.2 Anchor-based 方法中 anchor 尺寸的优化1.3.3 可视化数据处理二、MMYOLO 的框架结构2.1 以 YOLOv5 为例来说明 MMYOLO 的框架结构2.1.1 Bac…

AcWing 1077. 皇宫看守(树形DP + 状态机DP)

AcWing 1077. 皇宫看守&#xff08;树形DP 状态机DP&#xff09;一、问题二、分析1、思路分析2、状态表示3、状态转移4、循环设计5、初末状态三、代码一、问题 二、分析 1、思路分析 在讲解这道题之前&#xff0c;大家需要对状态机DP有一定的了解&#xff0c;如果不了解或者…

2022尚硅谷SSM框架跟学(九)Spring MVC基础四

2022尚硅谷SSM框架跟学 九 Spring MVC基础四14.SpringMVC执行流程14.1SpringMVC常用组件14.2DispatcherServlet初始化过程(Init)(1).初始化WebApplicationContext(2).创建WebApplicationContext(3).DispatcherServlet初始化策略14.3DispatcherServlet调用组件处理请求(Service)…

CentOS环境安装ffmpeg

这是我在网上搜罗的方法&#xff0c;亲测好用 &#xff0c;借此写篇文章&#xff0c;分享给大家。温馨提示&#xff1a;安装ffmpeg过程会很慢&#xff0c;因为它集成的功能太多了&#xff0c;所以在安装过程中不必长时间等待&#xff0c;执行命令后可暂时先去忙别的事&#xff…

Unity URP无法设置Transparency Sort Mode

Unity URP无法设置Transparency Sort Mode问题解决方案参考问题 一般使用Unity制作2D游戏时会将Transparency Sort Mode设置为Custom Axis并将Transparency Sort Axis设置为0,1,0来方便Spirte排序 但是当渲染管线切换为Universal Render Pipeline(通用渲染管线)时 Transpare…