2011-06-20 19 views
25

Próbuję wysłać żądanie przez REST. Otrzymuję odpowiedź powodzenia podczas korzystania z klienta-klienta firefox, , ale w SoapUI otrzymuję wyjątek dołączony poniżej. Jak rozwiązać ten problem? Dzięki.SoapUI: ConnectException: Przekroczono limit czasu połączenia:

java.net.ConnectException: Połączenie timed out: connect w java.net.PlainSocketImpl.socketConnect (Native Method) w java.net.PlainSocketImpl.doConnect (nieznane Źródło) na java. net.PlainSocketImpl.connectToAddress (Nieznany Source) na java.net.PlainSocketImpl.connect (nieznane Źródło) na java.net.SocksSocketImpl.connect (nieznane Źródło) na java.net.Socket.connect (Nieznany Źródło) pod numerem java.net.Socket.connect (Unknown Source) at java.net.Socket. (Nieznane źródło) na java.net.Socket. (Unknown Source) at org.apache.commons.httpclient.protocol. DefaultProtocolSocketFactory.createSocket (DefaultProtocolSocketFactory.java:80) w org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket (DefaultProtocolSocketFactory.java:122) w org.apache.commons.httpclient.HttpConnection.open (httpconnection. java: 707) pod adresem com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager $ HttpConnectionAdapter.open (SoapUIMultiThreadedHttpConnectionManager.java:1637) o org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry (HttpMethodDirector.java:387) w org.apache.commons.httpclient.HttpMethodDirector.executeMethod (HttpMethodDirector.java:171) w org.apache.commons.httpclient .HttpClient.executeMethod (HttpClient.java:397) w com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest (HttpClientRequestTransport.java:202) w com.eviware.soapui.impl .wsdl.WsdlSubmit.run (WsdlSubmit.java:123) na java.util.concurrent.Executors $ RunnableAdapter.call (nieznane Źródło) na java.util.concurrent.FutureTask $ Sync.in nerRun (Nieznany Source) na java.util.concurrent.FutureTask.run (nieznane Źródło) na java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (nieznane Źródło) na java.util.concurrent.ThreadPoolExecutor $ Worker.run (Nieznany Source) na java.lang.Thread.run (Unknown Source)

+1

Może to być przydatne dla kogoś: problem nie występuje, jeśli zaczynają SoapUI from $ {SOAPUI_HOME} /bin/SoapUI.bat – katrin

+1

Mam ten sam problem: otrzymuję limit czasu, podczas gdy serwer reaguje szybko, gdy współpracownicy go wypróbują. Moje ustawienia są identyczne z ich ustawieniami. Jedyna różnica polega na tym, że używam systemu Windows na komputerze Mac. To jest w SoapUI 4.5.1. – mcv

+1

Należy pamiętać, że istnieje również limit czasu na żądanie, który przesłania ustawienie globalne. W lewym dolnym okienku: "Właściwości żądania" –

Odpowiedz

5

chciałbym spróbować regulacji timeout gniazda w preferencjach SoapUI. SoapUI ma standardowy limit czasu wynoszący 60000 milisekund. Chciałbym spróbować zrobić o wiele większy, aby zobaczyć, czy masz ten sam problem. To wcześniej naprawiło problem z przekroczeniem limitu czasu.

Można również edytować to ustawienie bezpośrednio w SoapUI-settings.xml

<con:setting id="[email protected]_timeout">120000</con:setting> 

Jeśli to nie pomoże, spróbuj prosząc o eviware forum.

+2

"SoapUI ma standardowy limit czasu wynoszący 60000"; Jesteś pewny? Ponieważ limit czasu wynosi tylko 10 sekund, a my nie ustawiliśmy tej wartości nigdzie. –

+1

http://www.soapui.org/forum/viewtopic.php?f=5&t=1872 Obsługa SmartBear podaje swoje 60 sekund (60000 milisekund). Oczywiście to było od 2009 roku. Możesz sprawdzić preferencje, wpis na forum pokaże ci, gdzie znaleźć to w dokumentacji. –

+3

W rzeczywistości zauważyłem, że istnieje również opcja socketTimeout w opcji TestCase: [wpis na forum tutaj] (http://www.soapui.org/forum/viewtopic.php?f=2&t=10912&p=27494&hilit=socket+timeout&sid = 9576267b5cb2f3a7d4b36f6beae52cbe # p27562). To nie jest dobrze udokumentowane ... –

17

Można także ustawić wartość na 0, a następnie nie upłynie limit czasu. Testowano za pomocą SoapUI 4.5.0

38

Domyślny limit czasu gniazda ustawiono na 60000 milisekund. Można go zmienić:

Plik -> Preferencje -> HTTP Ustawienia -> Socket Timeout

0

Oprócz dostosowania limitów czasu, jeśli ten problem nadal występuje to może być, bo kilka z plugins needed by SoapUI are not loaded. Ponieważ te wtyczki są obecne w innym miejscu, które wymaga pozwolenia na dostęp.

Jesli sprawdzić logi u można znaleźć ten ślad:

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) 

problem does not occur when starting the SoapUI directly from bin

Również można run with Administrative privileges.