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

这篇具有很好参考价值的文章主要介绍了【IO异常】HTTP请求报错Error writing to server。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错信息如下:

[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请求时,会设置默认的大小,参数如下:
error writing to server,Spring框架相关,http,java,网络协议
将maxRequestSize调大,测试,可行文章来源地址https://www.toymoban.com/news/detail-791909.html

到了这里,关于【IO异常】HTTP请求报错Error writing to server的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决报错:Websocket connection to‘ws://127.0.0.1:5000/socket.io/?EIO=4&transport=websocket’failed:Error

    报错全文为:Websocket connection to‘ws://127.0.0.1:5000/socket.io/?EIO=4transport=websocket’failed:Error during Websocket handshake:Unexpected response code:400。如下图所示。 这个问题报的错误是EIO=4,查阅网上的各类信息资料会发现,基本没有这个报错的解法。网上基本大多数报错是EIO=3。 笔者认

    2024年02月14日
    浏览(37)
  • Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshaketimeout报错解决

    遇到问题如下 Error response from daemon: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/2.04: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apullserviceregistry.docker.io: net/http: TLS handshake timeout 说明访问不到镜像源 解决方式 通过 找到可用IP地址 然后修改hosts文件 添加上橙色划线

    2024年02月16日
    浏览(59)
  • 报错:HTTP Error 500.30 ASP.NET Core app failed to start

    问题原因: 1.没有安装对应版本的.NET Core Runtime 。 2.发布的代码和服务器上的IIS的Runtime不对应(例:发布的是x86,而服务器上的是x64)。 3.如果版本和操作位数都对应上了,还是报错,应该在IIS-应用程序-选择对应的CLR,设置,启用32位。 解决办法: 1.下载安装对应版本的运行时R

    2024年02月11日
    浏览(41)
  • PyCharm更新后启动异常,解决Internal error.Please refer to http://jb.ge/ide/critical-startup-errors

    PyCharm启动异常解决Internal error.Please refer to http://jb.ge/ide/critical-startup-errors 启动IDEA都遇到报错 Internal error. Please refer to https://jb.gg/ide/critical-startup-errors… java.net.BindException:地址已在使用中: 也就是idea启动时需要占用一些端口,但是已经被其它打开的软件占用了。 IDE正在本地

    2024年02月08日
    浏览(41)
  • vue项目,代理请求https无响应 或 报错Error occured while trying to proxy的解决

    公司最近的项目测试环境需要将http为一个https了,于是将自签名证书导入到iis服务(由于后端由NetCore WebApi编写),绑定网站SSL,然后前端使用本地代理切换请求地址之后就发现请求没法正常返回,前端调试没有任何返回响应,有的浏览器会返回: Error occured while trying to pro

    2024年02月16日
    浏览(49)
  • Proxy error: Could not proxy request /XXX localhost to http://localhost:8080/ (ECONNRE)报错处理

    今天在进行前后端联调时,联调不通,前端出现如下报错 通过在网上查找相关问题有很多种原因,因此博主根据资料进行相关解决方法的整理。 修改vue.config.js中的代理port 修改正确的地址或端口 博主是这个问题导致,一开始前端代理端口配置是8080,后端配置是8084,因此启

    2024年02月11日
    浏览(52)
  • smiley-http-proxy-servlet做代理application/x-www-form-urlencoded请求类型,报错failed to respond

    关于springboot项目用来做类型nginx的反向代理,利用smiley-http-proxy-servlet既可以做出, 但是如果请求application/x-www-form-urlencoded 会报错failed to respond,对此我前后梳理原因并做出解决 引入依赖 编写动态生成prpxyServlet,通过yml配置,动态生成 yml配置 获取配置信息 编写动态生成prp

    2024年04月08日
    浏览(61)
  • 【SQL】新建库表时,报错attempt to write a readonly database

    目录 1.问题背景 2.问题原因 3.解决方式 4.结果 windows64位 + Navicat + sql + vscode + c++  需求是这样: 希望在调用初始化数据库方法时,查看是否有名为【POCT_PROCESS_CONFIG】的数据库表,如果没有就新建 我的数据库格式是这样 我的代码是这样 但是我在navicat上直接运行sqlstr里的语句

    2024年02月03日
    浏览(36)
  • 【完美解决】Github action报错remote: Write access to repository not granted.

    本解决方案是笔者通过Github action运行项目时报错的解决方案,如果是本地运行报此错,未必有效果。 报错代码 效果图 在经历N多次尝试后,终于绿了 最终效果 必要步骤 替换之后打开此链接:https://github.com/xxx/yyy/settings/actions xxx替换为自己GitHub的用户名,yyy替换为自己仓库的

    2024年02月22日
    浏览(38)
  • Vivado SDK报错Error while launching program: Memory write error at 0x100000. AP transaction timeout.

           出现错误时的现象是在PS端将PL端与PS端代码同时加上以后第一次运行没有问题,但是第二次只重新运行PS端代码时就会出现程序卡在初始化后无法运行,而当PL端在Vivado中先加PL端代码,而PS端再加代码时就会出现以下报错:AP Transaction error 或者write 0x00100000 error。总之

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包