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 trace.log [Disk] Download
Filename VB-SessionSlot-019.log [Disk] Download
Filename SessionSlot-019.log [Disk] 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.
  • [Thumb - Capture.PNG]
[Disk] Download
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?
    Go to:   
    Mobile view