【问题标题】:Java Spring Rest Client Connection Reset ErrorJava Spring Rest客户端连接重置错误
【发布时间】:2018-11-19 10:10:03
【问题描述】:

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

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,rest服务也部署在远程weblogic服务器中。

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

【问题讨论】:

    标签: java spring rest weblogic


    【解决方案1】:

    Connection reset by peer”是 TCP/IP 等价物,相当于把电话重新挂上钩子。这比仅仅不回复,留下一个挂机更礼貌。但这不是真正礼貌的 TCP/IP 所期望的 FIN-ACK交谈者。

    查看here

    【讨论】:

    • 但我看到 curl 命令可以正常工作,但从应用程序中它会抛出错误。
    猜你喜欢
    • 2022-10-14
    • 1970-01-01
    • 2013-08-27
    • 2016-12-15
    • 1970-01-01
    • 2015-05-22
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多