2016-10-10 3 views
0

データウェイブルックアップを使用して、ペイロードメッセージの追加情報を返します。dataweave lookupによって返されるペイロードを使用するかどうかを決定できますか?

メッセージステータスが私が望んでいない場合、フローから返されたペイロードを使用できるかどうかを判断する方法はありますか?

これまでのところやその他の条件を使用して正しい構文を得ることができず、多くのオンラインヘルプが表示されないようです。

ペイロードにエラーメッセージが含まれていて、ユーザーレコードが削除された場合、ルックアップ関数がオンザフライで呼び出されています。ルックアップは2つのフィールドを含むオブジェクトを返し、それがステータスフィールドには「ロールバック」

Dataweaveコードである場合、私は結果だけを含める:

%dw 1.0 
%output application/xml 
--- 
{ 
    (data: { 
     userId: flowVars.userId, 
     Message: "User created successfully" 
    }) when (payload.user?) and 
      ((payload.status == "SUCCESS")), 

    (Exception: { 
     userId: flowVars.userId, 
     Message: payload.exception.message, 
     ("data":lookup("deleteuserfromgroup",payload.userId)) 
    })when (payload.exception?) and 
      (payload.exception.status != "-1") 
} 

おかげ

答えて

0

多くの条件の例は、DataWeave Reference Documentationにあります。以下は、簡単な例の1つです。

%dw 1.0 
%output application/json 
%var lookupValue = lookup("flowName", payload) 
--- 
{ 
    //set default when null 
    default: lookupValue default "defaultValue", 
    //when or otherwise 
    when: lookupValue when lookupValue.status == "expectedValue" otherwise "defaultValue", 
    //display the element only when the expected value is returned 
    (conditional: lookupValue) when lookupValue.status == "expectedValue" 
} 

必要に応じて式を結合または連結できます。

+0

こんにちは。ルックアップはオンザフライで呼び出され、呼び出される場所を示すデータウェイブコードで質問を更新しました – user3165854

関連する問題