Web Service Interaction Component

I am trying to build a test application using VAD. If I use a user input component I can get the user’s input at a later stage by using the expression editor. I have managed to call a webservice using the web service Interaction component; however I cannot seem to locate the result of this call when using the expression editor. When debugging, I can see that the web service result is being returned correctly. Any ideas?

Correct, the expression editor does not show the result property of the web services interaction component, and if I type the web services interaction component name . Result, I get "error.semantic.ecmascript" in project$.CurrentErrorName$ when debugging.

Staff Member3CX Support

You are trying to open the expression editor in a component that is AFTER the web services interaction, right? Is it into any other component, like Condition or so? Can you describe the callflow you're creating? If you can post the .flow file, that would help too...

Ernesto Dos Santos Afonso
3CX Support
CRM & Call Flow Designer

Stop hovering to collapse...Click to collapse...Hover to expand...Click to expand...

In this simple callflow, a user input control (InpCmp) is used to get a number from the user. The value of this control is passed to a webservice Interaction control (WS). Once the webservice is called, a prompt playback control is played (prompt 2). The value of the webservice (WS) is assigned to a variable (websrv) through a variable assignment component. At this point the callflow crashes and the last prompt (prompt 3) is not played.

Upon debugging I can see that the webservice returns the correct value in WS.Result, however when I try using this result by assigning it into a variable, the script crashes and I get "error.semantic.ecmascript" in project$.CurrentErrorName$

Staff Member3CX Support

I have been looking at your callflow, and the problem is that the web services interaction component is in a deeper scope (it's into the Valid Input branch), so it can only be seen inside that block or inside a deeper block.

You can solve this moving the variable assignment component just after the web services interaction component (inside the Valid Input branch). That way, you can assign the result to a callflow variable, and then see that result everywhere in the callflow. I'm attaching a picture showing the updated callflow.

Current version posts parameters to the web service. There is no way to configure the format they are sent.

This feature will probably be added in next releases. A workarround until this is added could be using an External Code Execution component and create your WebService client as a .NET dll. Can you try this?