mule で Java 関数を呼び出そうとしています。ペイロードをオブジェクトに変換し、それを関数に渡しました。作成される Java オブジェクトの名前はreqです。メソッド validate はタイプ Example の Java オブジェクトを受け入れます
public HashMap<String, String> validate(Example req) {.......}
クラスの例は次のようになります。
Class Example{
String key1;
String key2;
String key3;
}
XML 構成は次のようになります。
<java:new constructor="Example(java.lang.String,java.lang.String,java.lang.String)" doc:name="New Example" doc:id="6a1d5c8c-a1f0-446e-ab49-99a21fbbf4b9" class="Entities.Example" target="req">
<java:args ><![CDATA[#[{key1 :payload.key1,key2: payload.key2, key3:payload.key3}]]]></java:args>
</java:new>
<java:invoke doc:name="Invoke" doc:id="dd5f6534-06c8-4f4d-b3aa-c634a629898e" class="Implementations.ValidationServiceImpl" instance="#[vars.validator]" method="validate(Entities.Example)">
<java:args ><![CDATA[#[vars.req]]]></java:args>
</java:invoke>
Javaオブジェクト全体を渡さない理由がわかりません。