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.
    • [Thumb - Find Customer Node.jpg]
    [Disk] Download
    Filename trace.log [Disk] Download
    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.
    • [Thumb - FindCustomer Node.jpg]
    [Disk] Download
    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.
    Filename trace.log [Disk] Download
    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.
    Filename trace.log [Disk] Download
    • [Thumb - WS - Node.jpg]
    [Disk] Download
    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.
    • [Thumb - fecthtimeout.png]
    [Disk] Download
    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.
    Go to:   
    Mobile view