2016-06-14 11 views
0

I次のHTTPリクエストを持っている:も、404応答でフローを実行してください

<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> 

それは200の罰金を返すとき、このサービスは、foreachの内部にあるが、それは404を返すときに例外をスローしますフローが停止する、私はサービスが私に404を返すときにそれを必要とするペイロードを見て、フローを実行し続ける必要があるかどうかを判断する、どのように私はそれを達成することができますか?

私はcatch例外の戦略を使用しましたが、成功しませんでした。

PS:私は、そこ応答の一例ではないリソースを探していたときに、サービスが404を返します。

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

答えて

4

HTTP呼び出しの前に、行動ようにステータスコード例外を無効にする必要がありますスローしないでください。この場合、HTTPからの応答をステータスコードで確認し、必要なロジックを実行できます。周り

他の方法で

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

あなたは404をHTTPのためにのみ404のための発言権を制限する場合SuccessStatusCodeバリデータを使用して、成功応答の一つです。

<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> 

参照:https://docs.mulesoft.com/mule-user-guide/v/3.7/http-request-connectorこの参照URLにHTTP Response validation部分を確認してください。