Outbound Web service timeouts (REST & SOAP)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-26-2018 11:47 PM
Hi,
I just sent a question to support but maybe someone will have some sound informations regarding web services timeouts.
- what is the exact difference between SOAPMessageV2 - setHttpTimeout(Number timeoutMs) and SOAPResponseV2 - waitForResponse(Number timeoutSecs)?
- Looking at the class and method names, I suppose the first is at http level whereas the second is at SOAP level. Can we assume that if a network connection takes too long, the http timeout will trigger and interrupt the connection?
- if we set http timeout to 5 seconds and wait for SOAP response for 20 seconds, will the http timeout interrupt the call if the webservice takes too long to provide the response?
- what are the default values for these timeouts?
- are there undocumented system properties that let us configure these at instance level?
Thanks !
Sylvain
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2018 03:26 AM
My understanding was waitForResponse is for asynchronous calls, where it continuously polls the ecc queue table for a response.
setHttpTimeout is again waiting for a response, but from a synchronous call.
I don't know how they both play together, but I don't see a scenario where you'd want them both as one is for synchronous calls and the other async

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2018 04:40 AM
Thanks for your reply. I'm wondering, what makes you think setHttpTimeout is for synchronous calls only? It's a SOAPMessageV2 method.
Then, how would you set the connection timeout for an async call, if waitForResponse is just for async and only sets the time to wait for the ecc queue result?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2018 02:46 PM
When you run it async, it enters the record into the ecc queue.
From here you'll see a soapclient business rule that calls soapmessagev2 (with no sethttptimeout). I don't know if there's a default timeout if one isnt specified, but if there is, that is what it uses.
Executing async is just a wrapper for creating the ecc queue record with all the valid data, it's not actually executing the soap request