【问题标题】:Apache CXF client "connection reset" with long requests带有长请求的 Apache CXF 客户端“连接重置”
【发布时间】:2014-06-04 16:55:56
【问题描述】:

我有一个 SOAP 网络服务。

当从 SoapUI 调用它时,无论消息内容的大小如何,请求都能正常工作。

如果我从 Apache CXF 客户端代码发出相同的请求,它适用于小请求,但如果我的消息内容太长,我会收到“连接重置”,但以下异常:

Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1532)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1440)
... 37 more

知道什么可能导致它或如何调试它吗?

【问题讨论】:

    标签: java soap jax-ws cxf


    【解决方案1】:

    这个问题是由chunking mechanism引起的

    这个分块可以是disabled programmatically,但在 CXF 中有一个错误,它使得 programmatic configuration is not taken into account in case of SSL connection

    解决方案是通过spring configuration file 禁用分块。

    【讨论】:

    • 我正在使用 2.7.18 版本的 cxf 库我仍然面临同样的问题,但你的解决方案是针对 spring 框架的,我没有使用任何框架,有没有替代方案我可以尝试的解决方案或方法?
    【解决方案2】:

    试试:

    -Dhttps.protocols=TLSv1.2

    或服务器支持的任何版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2017-04-09
      相关资源
      最近更新 更多