Я внедряю токен CSRF для своего приложения, для этого я генерирую токен из шлюза Zuul и отправляю его в теле запроса API, так что это с сервера, работает нормально, отправляя клиенту правильно [UI]Теперь, когда клиентский [UI] получает его для API, затем отправляет обратно тот же токен на сервер в теле ответа API, так что на стороне сервера проверяет токен - все это работает нормально только для API.
Теперь в моем приложении есть 10 таких API, из которых только один API завершает поток туда и обратно, но для остальных остальных 8 API получаю ошибку, утверждающую, что HttpMessageNotReadableException - исключение протокола EOFтолько после прочтения.
Ниже приведена полная трассировка стека ошибок, в чем может быть причина ?, следуя инструкциям, приведенным в приведенном ниже URL-адресе, но у меня не сработало.
Инструкции, которые я пытался сделать доступнымив этой ссылке - [https://blogs.oracle.com/vijaya/javanetprotocolexception%3a-eof-after-reading-only%3a-0-of%3a-409-promised-bytes-v2]
Ошибка: org.springframework.http.converter.HttpMessageNotReadableException: ошибка ввода-вывода при чтении входного сообщения;вложенное исключение - java.net.ProtocolException: EOF только после чтения: '57' из: '120' обещанных байтов, из которых как минимум: '0' уже буферизовано
Сведения об ошибке:
org.springframework.http.converter.HttpMessageNotReadableException: I/O error while reading input message; nested exception is java.net.ProtocolException: EOF after reading only: '57' of: '120' promised bytes, out of which at least: '0' were already buffered
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:218)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:124)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:131)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) [spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
Caused by: java.net.ProtocolException: EOF after reading only: '57' of: '120' promised bytes, out of which at least: '0' were already buffered