2016-05-03 4 views
0

Ich habe eine funktionierende Lösung für die Anforderung wie unten angegeben. Ich bin jedoch nicht davon überzeugt, dass es sauber umgesetzt wird. Es gibt viele Konfigurationsoptionen in DataPower, auf denen ich schwammig bin und obwohl die Antwort zurückkommt, bin ich mir nicht sicher. Kann ich Hilfe bekommen, wie dieses implementiert werden sollte, um irgendein schrulliges Verhalten zu vermeiden.DataPower MPG: Reagieren mit einer benutzerdefinierten Nachricht für Schemavalidierungsfehler unter Vermeidung von Backend-Server?

Anforderung Wenn ein SOAP-Client sendet eine Anforderung, die Schemagültigkeitsregel in der eingehenden client- versagt> Server-Richtlinie (vor dem Backend-Server zu gehen), ist unser System muss mit benutzerdefinierten SOAP-Fehlermeldung reagieren und rückseitige Bearbeitung überspringen .

Aktuelle Lösung

My MPG hat die folgende Regelkonfiguration:

enter image description here

Client zum Server. . .

stimmt mit allen-> setzt bei Fehler Fehlerregel-> Validierungsaktion->. . .

Fehlerregel. . .

Streichhölzer Validierung error-> Sets skip-Rückseite TRUE-> Transformation Gebäude benutzerdefinierte SOAPFault message-> Ergebnisse action-> setzt Content Type-Header

Jede Hilfe zu diesem oder Vorschläge für einen besseren Weg, dies würde zu tun sei hilfreich. Ich möchte die Schema-Validierung innerhalb der MPG und nicht eine separate WS-Firewall machen.

Antwort

1

Sobald die Fehlerregel ausgelöst wurde, wird sie nicht für das Backend ausgeführt. Ich denke Skip Backend ist nicht erforderlich.

Match-Funktion -> Transformation Aktion mit benutzerdefinierter Nachricht ---> Ergebnisse Aktion

+0

Danke Jyo. Ich denke, ich habe das Skip-Backside nur hinzugefügt, nachdem die Backend-Anwendung immer noch getroffen wurde, was zu einer Zeitüberschreitung führte. Ich werde das nochmal versuchen. Vielleicht vermisse ich eine Einstellung? –

1

Nur eine Validierung Aktion für die XSD in der MPGW Verarbeitungsrichtlinie hinzufügen. Sie benötigen keine Skip-Backside- oder On-Error-Aktionen. Backside wird auf Request error übersprungen und die Error-Regel wird immer ausgelöst. Abgesehen davon ist Ihre Lösung solide.

Verwandte Themen