Author |
Message |
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
When a web service operation times out, the surrounding catch is not handling the exception. Instead, the caller is experiencing the obligatory "The system is experiencing technical difficulties", which then drops the call. How can I have the try/catch handle this exception?
Thank you,
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
I did a simple test using the stock and weather application and altered the URL to an invalid url and the exception was caught. Is this REST or SOAP or have you seen this in both?
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
I also tested this scenario in a rest ws that is quicker to setup and that worked.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
My apologies... I've only seen this in the SOAP web service operation, Axis 2 only. I haven't tested this with Axis 1.
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
What I am seeing is that the fetch timeout in the voice browser is less that the web service timeout and that you are getting a fetch timeout which the try / catch will not catch as that is in the browser. As a rule you always want the fetchtime out to be greater that the web service timeout.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
I just changed the web service timeout from 45 to 20 seconds. The default fetch timeout is 45 seconds. I get the same result... "The system is experiencing technical difficulties". It doesn't matter if the fetch times out first or the web service times out first.
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
can you post the trace with the WS timeout 20?
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Attached is both the trace file and the MPP session and VB log file. Let me know if there's anything else you need. :)
Michael
Filename |
VB-SessionSlot-019.log |
Download
|
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Actually you are getting a fetch time out.
@2017-06-02 08:25:23,479||FINE|VB|3103|Session=mpp01-san-2017153152508-19|an error was encountered running this application|mpp01-san####
@2017-06-02 08:25:23,479|PAVB_00213|ERROR|VB|3103|Session=mpp01-san-2017153152508-19|Fetch time out when opening timed stream for url = http://10.101.1.45:8710/TimeoutTest/PauseWsop?___DDSESSIONID=F8E7EE68A3F4B84836C038379DB8EA24%3A%2FTimeoutTest. Timeout was = 15000|mpp01-san####
@2017-06-02 08:25:23,479||FINE|CommonVXI.Cache|3103|Session=mpp01-san-2017153152508-19|Timed out fetching URL http://10.101.1.45:8710/TimeoutTest/PauseWsop?___DDSESSIONID=F8E7EE68A3F4B84836C038379DB8EA24%3A%2FTimeoutTest|mpp01-san####
@2017-06-02 08:25:23,480||FINE|CommonVXI.Interpreter|3103|Session=mpp01-san-2017153152508-19|DocumentParser.cpp:693:Failed to load document from URL PauseWsop?___DDSESSIONID=F8E7EE68A3F4B84836C038379DB8EA24%3A%2FTimeoutTest|mpp01-san####
@2017-06-02 08:25:23,480||FINE|VB|3103|Session=mpp01-san-2017153152508-19|an error was encountered running this application|mpp01-san####
@2017-06-02 08:25:23,480|PAVB_03064|ERROR|VB|3103|Session=mpp01-san-2017153152508-19|error.badfetch.http.905 URI: PauseWsop?___DDSESSIONID=F8E7EE68A3F4B84836C038379DB8EA24%3A%2FTimeoutTest|mpp01-san####
@2017-06-02 08:25:23,480|PAVB_03335|INFO|VB|3103|Session=mpp01-san-2017153152508-19|Got VoiceXML exception: error.badfetch in http://10.101.1.45:8710/TimeoutTest/Start?session___sessionid=mpp01-san-2017153152508-19&__VPapploggingurl=https%3a%2f%2f10%2e101%2e1%2e236%2faxis%2fservices%2fVPReport4&__VPapplog=%2faxis2%2fservices%2fVPAppLogService&__VPvpms=10%2e101%2e1%2e236&__VPappvars=%2faxis2%2fservices%2fVPAppVarsService&__VPVarAppDate=0&__VPVarAppURL=https%3a%2f%2f10%2e101%2e1%2e236%2faxis%2fservices%2fVPAppRuntimeVars&__VPVarGlobalDate=1493598710644&__VPbreadcrumb=disabled&__VPmaxbackuplogfiles=10&__VPlogname=%25default%25DXvL3gJv3nj2cPZf&__VPlogpassword=6ld7krspuqn3qOG1qyaV1FoCRTMaWgaHH4cv5BfAVhaYx3ItUuOXuB%2bh60%2bYnq%2b1&__VPloglevel=Info&__VPapptracelevel=o%7ce%7ce%7ce%7ce%7cd%7ce&__VPappname=0%3aMichael%20Test%20App|mpp01-san####
@2017-06-02 08:25:23,480||FINE|CommonVXI.Interpreter|3103|Session=mpp01-san-2017153152508-19|VXI::DoEvent - Enter|mpp01-san####
Can you add a property to your application and set the fetch timeout explicitly? See attached screen capture.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Sorry for the delay.
The fetch timeout is caused by the web service operation timeout (look at the 3rd line of the log snippet you pasted ["Timed out fetching URL"]). Why is this not being handled in the try/catch? The fetch timeout for the Data node is 45 seconds. The web service timeout is much smaller.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
I'm going to add the explicit fetch timeout of 45 seconds proprety to the AppRoot node (I can't see your image, but that's the ONLY non-prompt location I can place the external property).
I'll post the results of that test shortly.
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Note you want the fetchtimeout say 60 and the wsop timeout say 30?
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Realistically a web service timeout of 45 seconds is off. I would thing that normally it owuld be 5-10 seconds tops.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Adding an explicit property to set the global timeout to the default value of 45 seconds provides a work-around that resolves this problem. The bigger questions, however, are:
why is the developer required to explicitly set the default value for the timeout when adjusting the web service operation timeout value?
why does setting the web service operation timeout value override the default timeout value of the parent container?
Michael
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
How can I set this global timeout value in a Data project that utilizes the web service operation?
|
|
|