2016-06-14 4 views
0

Ich habe folgendes http Anfrage:Halten Fluss Ausführung auch mit einer 404-Antwort

<http:request config-ref="FlowVarsHostAndPort" path="/rest/bpo/evento" method="POST" doc:name="Envia movimentacoes para Elaw Correspondente"> 
        <http:request-builder> 
         <http:header headerName="Content-Type" value="application/json"/> 
        </http:request-builder> 
       </http:request> 

Dieser Dienst innerhalb einer foreach ist, wenn es 200 seine feinen zurückkehrt, aber wenn es 404 zurück wirft es eine Ausnahme eine der flow stoppt, ich brauche das, wenn der Service mir einen 404 zurückgibt, schaue ich auf die Nutzlast und finde heraus, ob es den Fluss weiter ausführen muss, wie kann ich es erreichen?

Ich versuchte die Catch-Ausnahme-Strategie, aber ohne Erfolg.

ps: Der Dienst wird 404 zurück, wenn ich für eine Ressource bin auf der Suche, das nicht da ist, ist ein Beispiel der Antwort:

{ 
    "processo": "0009843-63.2016.8.13.0301", 
    "mensagem": "Não foi possivel encontrar o processo" 
} 

Antwort

4

Vor HTTP-Aufruf, muß das Verhalten so deaktivieren, dass Ausnahmestatuscode nicht werfen. In diesem Fall können wir die Antwort von HTTP mit Statuscode anzeigen und Logik ausführen, was auch immer erforderlich ist.

<set-variable variableName="http.disable.status.code.exception.check" value="true" /> 

In andersrum

Wenn Sie nur einschränken möchten für 404. Say 404 HTTP ist eines der Erfolgsantwort von SuccessStatusCode Prüfung verwendet werden.

<http:request config-ref="" path="/rest/bpo/evento" method="POST" doc:name="Envia movimentacoes para Elaw Correspondente"> 
       <http:request-builder> 
       <http:header headerName="Content-Type" value="application/json"/> 
       </http:request-builder> 
      <http:success-status-code-validator values="200,404"/> 
    </http:request> 

Referenz: https://docs.mulesoft.com/mule-user-guide/v/3.7/http-request-connector. Überprüfen Sie HTTP Response validation Teil in dieser Referenz-URL.