问题 Soap UI:错误:java.net.SocketException:连接重置


我收到了错误:

java.net.SocketException:连接重置。

我已按照以下链接解决此问题。但没有运气..

我已经给出了下面的错误日志。任何人都可以看一下,让我知道如何解决这个问题?

Thu Mar 23 16:11:51 IST 2017:ERROR:java.net.SocketException: Connection reset
   java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at sun.security.ssl.InputRecord.readFully(Unknown Source)
    at sun.security.ssl.InputRecord.read(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:131)
    at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:138)
    at org.apache.http.impl.conn.LoggingSessionOutputBuffer.flush(LoggingSessionOutputBuffer.java:95)
    at org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:270)
    at org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:275)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:197)
    at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:258)
    at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doSendRequest(HttpClientSupport.java:113)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
    at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:247)
    at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:362)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.submitRequest(HttpClientRequestTransport.java:324)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:237)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:127)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

10754
2018-03-23 10:53


起源

那是你的客户方例外吗?服务器说什么? - Brian Agnew
这在浏览器中工作正常。但是当我从Soapui打电话时我得到了错误。 - ChanGan
请运行您的客户 -Djavax.net.debug=ssl,handshake 并将结果发布在您的问题中。如果您的服务器正在进行客户端身份验证,请同时提供相关的客户端设置。 - user207421


答案:


视窗

选项1:

  1. 在您的计算机上找到以下文件(确保您具有该文件的写入权限): C:\Program Files\SmartBear\SoapUI-5.2.1\bin\SoapUI-5.2.1.vmoptions

  2. 将以下行添加到文件中:

-Dsoapui.https.protocols="SSLv3,TLSv1.2"

  1. 使用.exe文件运行SoapUI(SoapUI-5.2.1.exe

选项2 :(如果选项1不适合您)。

  1. 编辑计算机上的以下批处理文件(确保您具有该文件的写入权限): C:\Program Files\SmartBear\SoapUI-5.2.1\bin\soapui.bat 
  2. 将以下行添加到文件中(之后: if "%SOAPUI_HOME%" == "" goto START):

set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.https.protocols="SSLv3,TLSv1.2"

  1. 使用批处理文件运行SoapUI(soapui.bat

MAC(OSX)

Mac的默认安装位置位于根“应用程序”文件夹中,并且位于 vmoptions.txt 文件在那里。右键单击SOAPUI .app文件(在/ Applications文件夹中),然后选择“显示包内容”以访问内部文件。

/Applications/SoapUI-X.X.X.app/Contents/vmoptions.txt

将以下行添加到 vmoptions.txt 文件:

-Dsoapui.https.protocols=TLSv1.2

LINUX

  1. 编辑: bin/SoapUI-5.3.0.vmoptions 在SoapUI目录中

  2. 将以下行添加到文件中:

-Dsoapui.https.protocols=TLSv1.2

我希望它有所帮助。


14
2018-04-26 15:59



谢谢 - 注意:我不得不省略.vmoptions文件(Windows)中的语音标记,如下所示: -Dsoapui.https.protocols=SSLv3,TLSv1.2 - ne1410s
如果您使用的是Windows 7(例如,如果您使用iisexpress for dev),则必须启用TLSv1.2协议。看到: derekseaman.com/2010/06/... - Gregor Slavec
Option1 / Windows在SoapUI 5.3.0中为我工作。但是,我必须删除引号才能使其正常工作:-Dsoapui.https.protocols = SSLv3,TLSv1.2 - Yann


通过删除协议TLS 1.0在注册表中工作正常。

Invoke-WebRequest SSL失败了吗?  这篇文章对解决这个问题非常有用。


0
2018-03-28 07:56



您能否写一些关于“删除注册表中的协议”的更详细的答案? - krzyski


我认为您正在使用公司连接,公司防火墙正在阻止连接。


0
2018-04-03 05:06



他已经写了一个与他有关的联系,他正在读它。 *人机工程学 防火墙没有阻止它。 - user207421


仅用于测试目的:如果所有其他方法都失败,您也可以使用http而不是https。只需在SoapUI窗口中编辑请求的URL。


-1
2017-07-13 17:29





尝试了所有解决方案但没有任何效果它在忽略SoapUI中的jre目录后开始工作。因此,如果以上解决方案不适合您,请尝试以下方法:

  1. 关闭SoapUI
  2. 转到SoapUi目录,例如:C:\ Program Files \ SmartBear \ SoapUI-5.3.0 \
  3. 将目录“jre”重命名为“jre.ignore”
  4. 完成。打开SoapUi,现在应该可以使用了。

-1
2017-10-24 13:50



我不明白为什么有人正在低估这个答案,但这个错误仍然出现在新版本中。我们开发人员的整个团队都遇到了山姆问题。一周前,即使我的客户在Mac上也有同样的问题。使用默认的java而不是SoapUI java有帮助。最有可能提到的问题可以有多个来源,但最好不要忽略这个,因为对我来说,我的同事和我的客户这个解决方案总是有帮助的。 - Darkayen Veleath