SoapUI: ConnectException: 连接超时

34

我尝试通过REST发送请求。在使用Firefox REST客户端时,我收到了成功的响应,但是在SoapUI中,我遇到了下面附加的异常。如何解决这个问题?谢谢。

java.net.ConnectException:连接超时:连接

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.(Unknown Source)

at java.net.Socket.(Unknown Source)

at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)

at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)

at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)

at com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(SoapUIMultiThreadedHttpConnectionManager.java:1637)

at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)

at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)

at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)

at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:202)

at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


1
可能对某些人有用:如果从${SOAPUI_HOME}/bin/SoapUI.bat启动SoapUI,则不会出现问题。 - katrin
1
我遇到了同样的问题:当同事们尝试时,服务器响应迅速,而我却超时了。我的设置与他们完全相同。唯一的区别是我使用的是Mac,而他们使用的是Windows。这是在SoapUI 4.5.1中发生的。 - mcv
1
请注意,还有一个每个请求超时时间,会覆盖全局设置。在左下角面板中:“请求属性”。 - David Balažic
5个回答

60

默认的套接字超时时间为60000毫秒。您可以更改它:

文件->首选项->HTTP设置->套接字超时


23

您还可以将值设置为0,这样就不会超时。 使用SoapUI 4.5.0进行了测试。


10

您还可以为请求设置超时时间,它在左下角的请求属性中,这对我很有帮助(SoapUI 5.4.0)

enter image description here


8

我建议您尝试在SoapUI首选项中调整套接字超时时间。 SoapUI的标准超时时间为60000毫秒。我建议您将其增加到更大的值,以查看是否仍然存在相同的问题。这种方法曾经解决了我的超时问题。

您也可以直接编辑soapui-settings.xml文件中的此设置。

    <con:setting id="HttpSettings@socket_timeout">120000</con:setting>

如果这并没有帮到您,尝试在 eviware 论坛上提问。

2
SoapUI的标准超时时间为60000,你确定吗?因为我只有10秒钟的超时时间,并且我们没有在任何地方设置这个值。 - рüффп
1
SmartBear支持表示它是60秒(60000毫秒)。当然,那是从2009年开始的。您可以检查首选项,论坛帖子将向您展示在文档中找到它的位置。 - Steve Miskiewicz
3
实际上我注意到在testCase选项中也有一个socketTimeout设置:论坛帖子在这里。它的文档描述并不是很清晰...... - рüффп
1
这个建议只有在你的服务器非常慢的情况下才有用。如果它正常工作,超时时间就不重要了。 - mcv

0
除了调整超时时间之外,如果这个问题仍然存在,那么可能是因为 SoapUI 需要的一些插件没有加载。因为这些插件存在于需要访问权限的其他位置。
如果您检查日志,您可以找到以下跟踪信息:
java.lang.ClassNotFoundException: com.eviware.soapui.plugins.auto.factories.AutoImportMethodFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)

从bin直接启动SoapUI时,问题不会发生。

也可以使用管理权限运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接