0

最近、サーバーに ssl 証明書をインストールし、クライアント プログラムで URL を切り替えて、URL の https バージョンを使用しました。現在、何らかの理由で、ファイルをサーバーに送信するときに、マルチパート リクエストで送信されたパラメーターがリクエストに含まれていません。しかし、時々それらはリクエストにありますが、マルチパートリクエストのファイルが壊れているようで、ファイルを読み取るときに EOFException が発生します。それは本当に奇妙です。ファイルをサーバーに送信するために、Apache の HttpClient ライブラリを使用しています。これが何であるか知っている人はいますか?以下は、ファイルを逆シリアル化しようとしたときにサーバーで発生するエラーです。

  java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
    at com.jgy.genserver.service.CreateDomainsAndDaosImpl.deserializeObject(CreateDomainsAndDaosImpl.java:741)
    at com.jgy.genserver.service.CreateDomainsAndDaosImpl.createDomainsAndDaos(CreateDomainsAndDaosImpl.java:70)
    at com.jgy.genserver.controller.CreationController.uploadFile(CreationController.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:61

7) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) で org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) でorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) で org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) で org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:882) で org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) で javax.servlet.http.HttpServlet.service(HttpServlet.java:707) で javax.servlet.http で。 org.apache.catalina.core の HttpServlet.service(HttpServlet.java:790)。StandardWrapper.service(StandardWrapper.java:1682) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) org .apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

4

1 に答える 1

0

わかりました、他の誰かがこの問題に遭遇した場合に備えて、答えを投稿したかったのです。問題は、すべてのファイルを読み取る前に、ストリームが途中で閉じられていたことです。これは、一度に 1 つのファイルを取得し、次のファイルを取得する前にそのファイルを処理していたためです。明らかに、https 接続はそれを行うのに十分安定していません。安全な送信であるため、ストリームは長期間維持されないと思います。

于 2014-09-22T20:11:39.467 に答える