Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Timeout error when running Invoke-RestMethod

I'm running the Invoke-RestMethod on PowerShell to invoke a Web API method. It works but after a minute or so, I get a timeout error. I'd really like for PowerShell to wait until the invoked method has completed. How do I do this? Thanks for any help. John

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
like image 831
bearaman Avatar asked Nov 18 '14 12:11

bearaman


1 Answers

According to Technet documentation for the Invoke-RestMethod cmdlet, there is a time-out argument you can append to your call. It is supposed to default to indefinite but there is a user complaining that it defaults to 100 seconds.

I can't see all of your code but, to specify a time-out of 2 minutes, your call should look like this:

Invoke-RestMethod -Uri "http://corloclaf2/api/Automation/GetAutomation?test" -TimeoutSec 120
like image 116
ShaneC Avatar answered Sep 19 '22 20:09

ShaneC