美文网首页
Java报错记录:UT000128: Remote peer c

Java报错记录:UT000128: Remote peer c

作者: Soup_1acc | 来源:发表于2020-08-19 14:48 被阅读0次

报错记录

2020-08-19 14:35:11.505 ERROR 18124 --- [ XNIO-1 task-20] c.l.comm.core.GlobalExceptionHandler     : RuntimeException:

org.springframework.http.converter.HttpMessageNotReadableException: I/O error while reading input message; nested exception is java.io.IOException: UT000128: Remote peer closed connection before all data could be read
    at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:217) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:127) ~[spring-web-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) ~[spring-web-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) ~[spring-web-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    

java跨服务报错,检查了FeignClient注解和yml配置以及代码都没有问题。
检查了一天半

网上资料很少 大概都是说传递参数有问题 或者 配置有问题 无法建立长连接导致程序运行过程中连接关闭
参考stackoverflow相似问题解答

This is a problem at the client. It sent a content-length but didn't send that much data, and closed the connection instead of waiting to receive the response
这是客户端的问题。 它发送了一个内容长度,但没有发送那么多数据,并且关闭了连接而不是等待接收响应。

初步推断:跨服务时发送的参数数据有问题

重新写了个测试方法不传参跨服务调用方法,没有任何问题
最后发现是传参的时候出现了问题

推测 使用封装类型CompositeData传递数据时,body没有赋值(null)
传递参数长度有问题 服务器自动关闭

具体原因不明,等我后续想明白了再来完善

解决方法: 通过setFieldVaule方法向参数cd的body中加入一些数据

    String a = "aaa";
    MessageUtil.setFieldVaule(cd, "Result1", a);
    //执行业务方法
    cd = remoteUserService.getUserList1(cd);
    // String b = (String) remoteUserService.getTest(a).getBody().get("test");
    return cd;

加入数据后则程序正常运行,跨服务成功接收接口数据。

欢迎交流讨论,希望有思路可以在文章下方留言,帮助更多的网友
转载请注明出处:https://www.jianshu.com/p/0babd7238593

相关文章

网友评论

      本文标题:Java报错记录:UT000128: Remote peer c

      本文链接:https://www.haomeiwen.com/subject/mynrjktx.html