Java Spring Rest客户端连接重置错误

时间:2018-11-19 10:10:04

标签: java spring rest weblogic

我已经实现了rest客户端,使用下面的代码来使用rest网络服务,

Client client = Client.create();
client.addFilter(new HTTPBasicAuthFilter(USERNAME,PASSWORD)); 
WebResource webResource = client.resource(URL);
ClientResponse clientResponse = webResource.type("application/json").accept("application/json").post(ClientResponse.class, REQUEST);

但是我正面临下面的错误,

com.sun.jersey.api.client.ClientHandlerException: java.io.IOException: Connection reset by peer
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
    at com.sun.jersey.api.client.filter.HTTPBasicAuthFilter.handle(HTTPBasicAuthFilter.java:105)
    at com.sun.jersey.api.client.Client.handle(Client.java:652)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
    at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
    at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:570)
    at org.springframework.jms.listener.adapter.MessageListenerAdapter.onMessage(MessageListenerAdapter.java:339)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:535)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:241)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1056)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1048)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.readv0(Native Method)
    at sun.nio.ch.SocketDispatcher.readv(SocketDispatcher.java:43)
    at sun.nio.ch.IOUtil.read(IOUtil.java:278)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:440)
    at weblogic.socket.NIOInputStream.readInternal(NIOInputStream.java:148)
    at weblogic.socket.NIOInputStream.read(NIOInputStream.java:90)
    at weblogic.socket.NIOInputStream.read(NIOInputStream.java:73)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    at weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:310)
    at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:232)
    at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:554)
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:688)
    at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:41)
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:1545)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
    ... 17 more

但是,如果我重新启动服务器,则此问题已经出现一段时间了,并且再次出现。有没有人遇到过类似的问题?谷歌搜索时,我没有任何适当的解决方案。

我在客户端使用Weblogic Server,其余的服务也部署在远程weblogic服务器中。

编辑-当我在引发此错误的同一台服务器上尝试使用curl命令时,它正在检索结果。

1 个答案:

答案 0 :(得分:0)

由对等方重置连接”是TCP / IP的等效功能,它相当于将电话猛击回挂机。它礼貌而不是不回复,只挂一个电话。但这不是真正礼貌的TCP / IP所期望的FIN-ACK。交谈者。

检查here