2014-11-18 23 views
6

Używam Invoke-RestMethod na PowerShellu, aby wywołać metodę Web API. Działa, ale po upływie minuty pojawia się błąd przekroczenia limitu czasu. Naprawdę chciałbym, aby PowerShell czekał, aż zakończona zostanie metoda wywoływana. Jak to zrobić? Dzięki za pomoc. JohnBłąd limitu czasu podczas uruchamiania Invoke-RestMethod

PS C:\Test\TestScripts> .\Run_Automation 5.5.4.382.1 
VERBOSE: GET http://server/api/Automation/GetAutomation?testName=5.5.4.382.1 with 0-byte payload 
Invoke-RestMethod : The operation has timed out. 
At C:\TeamCity\TeamCityScripts\Run_Automation.ps1:20 char:5 
+  Invoke-RestMethod -Uri http://corloclaf2/api/Automation/GetAutomation?testNa ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException 
+ FullyQualifiedErrorId :WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand 

Odpowiedz

9

Według Technet documentation for the Invoke-RestMethod cmdlet, nie jest argumentem time-out można dołączyć do rozmowy. Ma domyślnie wartość domyślną, ale użytkownik narzeka, że ​​domyślnie jest to 100 sekund.

nie widzę wszystkich kodzie, ale określenie time-out 2 minuty, połączenie powinno wyglądać następująco:

Invoke-RestMethod -Uri "http://corloclaf2/api/Automation/GetAutomation?test" -TimeoutSec 120 
+1

Thanks Shane, że załatwiło sprawę! Bardzo doceniane. – bearaman

+3

Nie ma więcej parametru 'timeout'. Zamiast tego użyj 'TimeoutSec'. –

+0

Zaktualizowałem swoją odpowiedź w odpowiedni sposób – ShaneC

Powiązane problemy