【发布时间】:2020-11-25 06:00:26
【问题描述】:
我在调用外部沙箱时看到了这个问题。我发现它发生在 java 版本中。有没有人以前见过这个问题并解决了它? 这会间歇性发生。
Sandbox 解析响应时返回 200 并抛出错误
java 版本:1.8.0_275 + 沙盒调用 => 不工作
java 版本:1.8.0_202 + 沙盒调用 => 运行良好
使用改造 2.3.0,Okhttp 3.8.0
java.net.SocketException: Connection or outbound has closed
at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:967)
at okio.Okio$1.write(Okio.java:79)
at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
at okio.RealBufferedSink.flush(RealBufferedSink.java:216)
at okhttp3.internal.http2.Http2Writer.rstStream(Http2Writer.java:152)
at okhttp3.internal.http2.Http2Connection.writeSynReset(Http2Connection.java:315)
at okhttp3.internal.http2.Http2Stream.close(Http2Stream.java:226)
at okhttp3.internal.http2.Http2Stream.cancelStreamIfNecessary(Http2Stream.java:454)
at okhttp3.internal.http2.Http2Stream$FramingSource.close(Http2Stream.java:428)
at okio.ForwardingSource.close(ForwardingSource.java:43)
at okhttp3.internal.http2.Http2Codec$StreamFinishingSource.close(Http2Codec.java:199)
at okio.RealBufferedSource.close(RealBufferedSource.java:455)
at okio.RealBufferedSource.close(RealBufferedSource.java:455)
at okio.InflaterSource.close(InflaterSource.java:126)
at okio.GzipSource.close(GzipSource.java:182)
at okio.RealBufferedSource.close(RealBufferedSource.java:455)
at okio.ForwardingSource.close(ForwardingSource.java:43)
at okio.RealBufferedSource.close(RealBufferedSource.java:455)
at okio.RealBufferedSource$1.close(RealBufferedSource.java:443)
at sun.nio.cs.StreamDecoder.implClose(StreamDecoder.java:378)
at sun.nio.cs.StreamDecoder.close(StreamDecoder.java:193)
at java.io.InputStreamReader.close(InputStreamReader.java:199)
at okhttp3.ResponseBody$BomAwareReader.close(ResponseBody.java:258)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._closeInput(ReaderBasedJsonParser.java:193)
at com.fasterxml.jackson.core.base.ParserBase.close(ParserBase.java:368)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1622)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1203)
at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:32)
at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:119)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:218)
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:112)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:141)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at au.com.auspost.utils.MDCUtils.lambda$mdcRunnable$0(MDCUtils.java:24)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
【问题讨论】:
-
这里没有足够的内容。也许在两种情况下都提供事件监听器的输出,例如stackoverflow.com/a/60913612/1542667