如何通过Java子将Java对象传递给Java函数

问题描述 投票:1回答:1

enter image description here

我试图在mule中调用Java函数。我将有效负载转换为Object并将其传递给函数。创建的Java对象的名称为req。该方法validate接受类型为Java的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>

我收到以下错误:enter image description here

我不知道为什么它不整体传递java对象。

java dataweave mule-esb mule4
1个回答
5
投票

请尝试一下,看看。如果它对您有用,请告诉我。在这种情况下,我们需要改进m子文档

<java:args >#[{req: vars.req}]</java:args>
© www.soinside.com 2019 - 2024. All rights reserved.