In general <error>
supports the same tags as <success>
. But there are limitations.
Placing <forward-to-endpoint>
inside <error>
is not supported, as this would require “auto increment” numbers to be assigned even in the case of <error>
(as any arbitrary endpoint might be called, which might require them). It is an explicit design goal to only support auto-increment numbers (e.g. for invoice numbers) in the case of <success>
.
On error the same tags can be used as for <success>
, but placeholders for client generated parameter values are not supported. An error might have happened during parameter transformation, and therefore client generated parameters are not necessarily available.
Limited Support of Variables
This limitation not only applies to the use of placeholders in the endpoint-definition, but also for any data-source or XSLT used within a transformation.
System generated parameters may be used.
In addition, for the processing of the <error> tag the following additional parameters are available:
${internal-error-text}
- This contains an internal error message. It is important this is not exposed to any end customer, as it might contain security-sensitive information such as “cannot connect to database at IP address 1.2.3.4” etc.
${parameter-transformation-error-text}
- In case the request failed because the parameter transformation failed, and a message was set in the <error>
tag in its output.