2

ランダムに生成された数値を dataweave のリクエストからのフィールドと連結する必要があります。

NUMBR: "AA" ++ $.Load.Reference.*Reference ++ RandomNumber

Mule Dataweave でこれを実現する方法

4

5 に答える 5

1

式コンポーネントを使用してペイロードまたは変数に割り当ててから連結することもできます

<flow name="random-numbersFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/random" allowedMethods="GET" doc:name="HTTP"/>
    <expression-component doc:name="Expression"><![CDATA[payload = new java.util.Random().nextInt(100)]]></expression-component>
    <dw:transform-message doc:name="Transform Message">
        <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
    data: payload
}]]></dw:set-payload>
    </dw:transform-message>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
于 2015-10-24T21:18:55.350 に答える
1

純粋な DataWeave ではこれを行うことはできませんが、2 つの方法を使用して、アプリケーションの別の場所で数値を生成できます。

  1. DataWeave からグローバル MEL 関数を呼び出すことができます: https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-reference-documentation#global-mel-functions
  2. 値を返すフローを呼び出すことができます: https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-reference-documentation#expressions-that-c​​all-external-flows
于 2015-12-30T14:46:35.427 に答える
0

Java によって生成されたランダムな値をフロー変数に設定するだけです

<set-variable variableName="Random_Variable" value="#[java.util.Random().nextInt(10)]" doc:name="Random Variable"/>

次に、そのフロー変数を Dataweave Transform で使用します。

<dw:transform-message doc:name="Transform Message" metadata:id="8098b24c-30c1-4e9e-a3ce-9e8aaaec7bd1">
            <dw:input-variable mimeType="application/java" variableName="Random_Variable"/>
            <dw:set-payload><![CDATA[%dw 2.0
%output application/json
---
{
    NUMBR: "AA" ++ $.Load.Reference.*Reference ++ flowVars.Random_Variable
}]]></dw:set-payload>
</dw:transform-message>
于 2019-02-06T12:21:07.903 に答える