2017-12-07 7 views
0

私のSpringBootアプリケーションは、自分のvpsにあるWeblogicサーバにデプロイされ、別のWebサイトのAPIメソッドを呼び出すメソッドを実行すると私は、このエラーで返されています:私はAPIコールを呼び出すためにスプリングAsyncRestTemplateを使用する場合、これはのみ発生していることに気づいたjava.io.IOException:WeblogicサーバでAsyncRestTemplateを使用するとピアで接続がリセットされる

java.util.concurrent.ExecutionException: java.io.IOException: Connection reset by peer 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_144] 
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_144] 
    at org.springframework.util.concurrent.FutureAdapter.get(FutureAdapter.java:81) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_144] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_144] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_144] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_144] 
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_144] 
Caused by: java.io.IOException: Connection reset by peer 
    at sun.nio.ch.FileDispatcherImpl.readv0(Native Method) ~[na:1.8.0_144] 
    at sun.nio.ch.SocketDispatcher.readv(SocketDispatcher.java:43) ~[na:1.8.0_144] 
    at sun.nio.ch.IOUtil.read(IOUtil.java:278) ~[na:1.8.0_144] 
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:440) ~[na:1.8.0_144] 
    at weblogic.socket.NIOInputStream.readInternal(NIOInputStream.java:168) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at weblogic.socket.NIOInputStream.read(NIOInputStream.java:110) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at weblogic.socket.NIOInputStream.read(NIOInputStream.java:73) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at weblogic.socket.JSSEFilterImpl.readFromNetwork(JSSEFilterImpl.java:508) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at weblogic.socket.JSSEFilterImpl.read(JSSEFilterImpl.java:470) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at weblogic.socket.JSSESocket$JSSEInputStream.read(JSSESocket.java:119) ~[com.oracle.weblogic.server.muxers.jar:12.2.1.3] 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[na:1.8.0_144] 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[na:1.8.0_144] 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[na:1.8.0_144] 
    at weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:310) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:232) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:554) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:688) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:42) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:1547) ~[com.oracle.weblogic.net.jar:12.2.1.3] 
    at org.springframework.http.client.SimpleBufferingAsyncClientHttpRequest$1.call(SimpleBufferingAsyncClientHttpRequest.java:94) ~[spring-web-4.3.11.RELEASE.jar:4.3.11.RELEASE] 
    at org.springframework.http.client.SimpleBufferingAsyncClientHttpRequest$1.call(SimpleBufferingAsyncClientHttpRequest.java:77) ~[spring-web-4.3.11.RELEASE.jar:4.3.11.RELEASE] 
    ... 4 common frames omitted 

ListenableFuture<ResponseEntity<String>> y = asyncRestTemplate.exchange(desiredUrl, HttpMethod.GET, new HttpEntity<>("result"), String.class);//.get().getBody(); 
     boolean done = false; 
     while (done == false) 
     { 
      if (y.isDone() == true) 
      { 
      response = y.get().getBody(); 
         return response; 
      } 

     } 

    } catch (InterruptedException | ExecutionException ex) { 

     Logger.getLogger(HTTP_Methods.class.getName()).log(Level.SEVERE, null, ex); 
     ex.printStackTrace(); 
    } 

答えて

0

エラー

Connection reset by peer 

が、それはこの要求を完了すると進まないだろうと述べて、リモートサーバ(またはそれらの間のファイアウォール)による応答です。

ファイアウォールの拒否、SSLハンドシェイクの失敗、プロキシの問題、またはHTTPの失敗した要求さえある可能性があります。

+0

リクエストに正しいヘッダーを追加していないと、このエラーが発生する可能性がありますか?@komarios – skandal

+0

はい、非常にうまくいく可能性があります。 – komarios

+0

ありがとう、それは私が行方不明だったヘッダーでした。 – skandal

関連する問題