Troubleshooting Web Procedures

See Web Procedures for more information.


What to do when the Web Procedure Fails to Run

The Web Procedure can fail to run for a number of reasons such as an element cannot be found on the page or unexpected behavior when running JavaScripts. Some of these issues can be solved by adjusting parameters in the <ApplinX installation>/config/gxconfig.xml file. Following is a list of possible problems with a recommendation as to what to do and when relevant, which parameter to configure. Below is a snipet of the code as it appears within the gxconfig.xml file.

Timeout error: When running the Web Procedure, sometimes an error message is displayed indicating that a timeout occurred, and that the procedure failed and did not run successfully. This can be for a number of reasons:

  • A specific element used in the procedure was not found on the page. In this case, you should try the following:

    1. The XPath defined may not capture the correct element. Run the procedure from within the Designer and follow the output in the Console area.

    2. Refine the XPath to make it more robust. Refer to What is an XPath?

    3. Change the ApplinX Server log level to "trace" to help you understand where the problem may lie.

    4. If you know that this element is on the page, you should try to change the waitElementTimeout parameter and see if after extending this time the element is found.

  • Required resources are not loaded on the page within a certain amount of time. You can confirm that this is your problem by setting the ApplinX log level to "trace" and see that the actions/web element content retrieval is performed on the previous page. Change the navigationTimeout parameter to try and solve this.

Unexpected behavior when running JavaScript methods: If in a scenario which relies on the execution of a JavaScript method, the results are not as expected. Changing the javascriptTimeout may solve this.

CSS related problem: When there is a scenario that relies on the evaluation of CSS rules, and the results are not as expected, setting the cssEnabled parameter to enabled may solve this.

<MainConfiguration>
        ...
        <ServerConfiguration>
        ...
           <webProcedureConfig>
                <waitElementTimeout>30000</waitElementTimeout>
                <navigationTimeout>90000</navigationTimeout>
                <javascriptTimeout>30000</javascriptTimeout>
                <cssEnabled>false</cssEnabled>
           </webProcedureConfig>
        </ServerConfiguration>
</MainConfiguration>