“The “value” attribute of the tag must contain a valid decimal or integer number” error in the CVP VXML Server

Hello to everyone! 

I haven’t written anything on the blog for a long time. Sometimes there is no inspiration, sometimes just laziness 😕Today I wanna talk about the problem that I encountered while working with the Cisco CVP. One of my students was doing his lab and he complained that his Studio application for CVP VXML Server suddenly stopped updating when the changes were made. He tried to delete the script and re-deploy it, but the script simply could not be activated anymore. 

To find out the reason for this behavior of the application, you should refer to the logs of the VXML server. They are usually found along the following path (CVP was installed on drive C):

C:CiscoCVPVXMLServerLogs

You have to view the logs with the corresponding date in the GlobalAdminLogger and GlobalErrorLogger folders. 

 

 In our case, the following was found in the logs:

– Log GlobalAdminLogger: 12/10/2021 15: 50: 04.413, deploy_all_apps, The application ‘SuperLab_2’ failed to deploy.

– Log GlobalErrorLogger: 12/10/2021 15:50: 04.413, SERVER ERROR: There was an error attempting to deploy the application. The error was: com.audium.server.voiceElement.ElementException: The “value” attribute of the <constant_number /> tag must contain a valid decimal or integer number. The value given was “SHIPPED”

It can be seen from the logs that the application does not start due to an error related to the fact that one of the elements expects a parameter with the decimal or integer type, and the string “SHIPPED” was entered instead.

After analyzing all the elements of the script, we found out that the value “SHIPPED” was set in only one element, and it turned out to be the Decision element. Its configuration was like this: 

At first look, the configuration appears to be perfectly correct and error-free. Moreover, the application validation did not show any error. Since the error log directly indicated that the system did not accept the value in the <constant_number /> tag, it was decided to check the XML code of the Decision element. This can be done in Call Studio in the element configuration pane:

Indeed, the XML code of our element was incorrect:

Despite the fact that in the element configuration the value of the ORDER_STATUS variable was compared with the text value “SHIPPED”, in the XML code we see the <constant_number value> tag, although there should be a <constant_string value> tag in this place, since the element’s configuration compares the text value, not numeric. But despite this, Call Studio for some reason used a tag requiring an integer value, and this caused an error on the VXML server. Interestingly, this error is not detected when validating the project in Call Studio, but it can only be detected when the application is uploaded to the VXML server.

The solution to the problem is to manually replace the <constant_number value> tag with <constant_string value>, as shown below:

 

After loading the corrected script, the malfunction is eliminated. At a more detailed conversation with the student, it was turned out that he first wrote an expression in which he mistakenly chose a comparison of a numerical value, and only then changed it to a comparison of a text value. This kind of manipulation shouldn’t be a problem, however, Call Studio did not replace the tag accordingly.