Вам нужно убедиться, что вы поймали первую ошибку в правиле.Установите вход в систему отладки и выдайте ошибку.В журнале вы (скорее всего) увидите ряд ошибок, а затем скопируете код ошибки первой из них.
Создайте новое правило соответствия в своей политике обработки и задайте его в соответствии с кодом ошибки.В списке выбора, где вы можете выбрать коды ошибок, найдите скопированный код и добавьте его.Если вы не можете найти код в списке, это не «основная» ошибка, которую можно отследить, и вам придется добавить еще один код ошибки.Если вы не уверены, просто добавьте все коды в действие сопоставления (их может быть несколько).
Затем убедитесь, что ваше правило является «правилом ошибок» и что перед ним нет других правил ошибок.(выше в списке правил).DataPower выполняет только ОДНО правило ошибки, поэтому вам нужно убедиться, что они идут по порядку.
Другое решение состоит в том, чтобы добавить новое правило ошибки с действием «сопоставить все» (*) и в нем использовать GatewayScript или XSLT.проверить код и выполнить соответствующее действие, например, для GWS:
// get the service metadata, i.e. the service var's
var sm = require ('service-metadata');
console.log(JSON.stringify(sm));
console.log(JSON.stringify(sm).slice(1566));
console.log(sm.errorSubcode);
if (sm.errorSubcode === '0x01d30003') {
// This is a XSD schema validation error
const err = sm.errorMessage.slice(sm.errorMessage.indexOf('/validate: ') + 10).trim();
session.output.write(err);
} else {
session.output.write(sm.errorMessage);
}