Author |
Message |
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Hi Everyone,
I am having issue in catering the web service when it went timeout. After no response from web service it is playing Technical Difficulty message. Rather it should proceed to next node.
Looking forward to have your help.
Thanks & Regards,
Sufyan
|
|
|
|
|
BradWilson
Joined: Jun 1, 2010
Messages: 1
Offline
|
Do you have a try catch setup on the web service call? You can setup next node in the try/catch.
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Hi Brad,
Thanks for response. Yes, I tried the Try Catch on the web service. But even it is catching the exception but it doesn't transfer the call to the required node and plays AEP technical difficulty error.
|
|
|
|
|
Ivalberto
Joined: Sep 5, 2018
Messages: 45
Offline
|
Hi Sufyan, you have to controll the Platform timeOut , example
your webServices timeOut is 20 seconds, but by default de ExperiencePortal has a default timeOut of 15 seconds to wait for all process in the application.
So yo have two options
Modify default 15 seconds timeOut on the EPM. this required MPP restart.
Override the fecthtimeOut on the application , yo can do it this, on the appRoot adding the item properties and setting de fetchtimout property.
Best Regards.
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Hi Ivalberto,
Thanks for the response. I am testing it via OD simulator and experiencing the same. In this scenario there is not EP involved.
Below is the node snap and trace.log snippet as well.
|
|
|
|
|
Ivalberto
Joined: Sep 5, 2018
Messages: 45
Offline
|
Hi Sufyan,
The OD simulator has the same behavior that one call on EPM system.
You should modify via appRoot the voiceBrowerTimeout as good practice in all application , and this time always should be greather than all timeOut of connecting and reading of any operation (ws,bd , etc).
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Appreciate that. Will try to set the fetch timeout and revert.
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
It seems that TRY Catch is not working. Even Try Catch is there I am still having error "Error.BadFetch" when running from OD. And error "Technical Difficulty" when from AEP.
Please suggest.
|
|
|
|
|
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
|
Do you have the new trace.log after you modified the fetch timeout as suggested?
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Please find attached snippet from trace logs.
|
|
|
|
|
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
|
The fetch timeout you set is only 10s
<property name="fetchtimeout" value="10s" />
but it took 20s for the web service call to return. The timeout for web service doesn't work in this case I guess. We don't have control of the code (which is in Axis2) how the timeout works. I suggest you try increasing the fetch timeout to 60s and see what happens.
24/09/2020 02:27:35:005 DEBUG - C47923C54391084C65FB9A374F170052:/ivrApp_hbl_Phase : Setting web service timeout to 3 seconds
24/09/2020 02:27:56:828 ERROR - C47923C54391084C65FB9A374F170052:/ivrApp_hbl_Phase : session id:sess1271317 |
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
Hi WilsonYu,
Appreciate your help.
I have increased the fetch timeout to 60s. Still I am facing the same issue. I am attaching trace log and snapshot of the Web Service node how I configure it. Another point is, rather catching the exception and going to next node after catch it is going on the node when there will be a response from the web service.
Looking forward to hear back from your side. Thanks.
|
|
|
|
|
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
|
It seems like you change the wrong thing
<prompt bargein="true" bargeintype="speech" timeout="6000ms">
You are supposed to use the Property item from the palette in the flow node like collectUserCNIC. There is a particular property called fetch timeout in the Property item
|
|
|
|
|
Ivalberto
Joined: Sep 5, 2018
Messages: 45
Offline
|
Sufyan, check this image , you can do it from the appRoot and that apply for all request on your app.
and keep in mind each one thousand miliseconds are one seconds, so 6000 ms are 6s.
|
|
|
|
|
Sufyan
Joined: May 18, 2015
Messages: 23
Offline
|
I did exactly the same. Added property in AppRoot and set the fetch timeout as 60s
I know speech time out is set as 6000ms, I believe it has nothing to do with Web Service timeout.
AppRoot -> Property -> fetchtimout -> 60s
WebService -> Timeout-> 3s
Still getting the same behaviour. Try Catch not catching the exception.
Now I am creating new project which will not have anything else other than playing single prompt and calling web service.
Will let you know the result.
|
|
|