Support Article
Data Page throwing ConnectorException propagates FAIL to callers
Summary
A Data Page invokes a Connector and throws a ConnectorException (NoRouteToHostException). The error conditions are made available on the Data Page and the resulting Step Status FAIL propagates back through the calling Activities. In Agent and Flow Processing, this triggers a rollback of the current interaction even if the caller of the Data Page checks for the errors on the Data Page content.
In this use case, a When rule invokes the Data Page, the Tracer confirms that the When rule correctly returns the intended answer. However, the propagation of the Step Status FAIL can also be seen in elements of the call stack that come after the completion of the When rule evaluation.
In this scenario, you expect the When rule to return "false" once the messages are found on the Data Page, but the NoRouteToHostException is thrown instead.
Error Messages
Fail: Caught unhandled exception:NoRouteToHostException: No route to host
Steps to Reproduce
- Set up a Connect REST rule to be unable to connect to its endpoint, throwing a NoRouteToHostException.
- Implement a Data Page that wraps the REST connector.
- Implement a When rule whose conditional logic first tests whether the Data Page has messages, and then tests a value from the Data Page if no messages exist (that is, loading was successful).
- Invoke the When rule.
Root Cause
The step status failure on invoking the connector method (Connect-REST or Connect-SOAP and so on) in the activity pxCallConnector is not cleared and, therefore, is propagated to the callers.Resolution
Perform the following local-change:
Call a Rule-Utility-Function (RUF) to clear the step status failure through a response data transform.
In this case, the developer handled the scenario with a facade data page.
Published April 7, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.