如何在mule中将Java对象传递给Java函数

如何在mule中将Java对象传递给Java函数,java,dataweave,mule-esb,mule4,Java,Dataweave,Mule Esb,Mule4,我试图在mule中调用一个java函数,我将有效负载转换成对象并将其传递到函数中。 创建的Java对象的名称是req。 validate方法接受Example类型的Java对象 public HashMap<String, String> validate(Example req) {.......} XML配置如下所示: <java:new constructor="Example(java.lang.String,java.lang.String,java.lang.St

我试图在mule中调用一个java函数,我将有效负载转换成对象并将其传递到函数中。 创建的Java对象的名称是req。 validate方法接受Example类型的Java对象

public HashMap<String, String> validate(Example req) {.......}
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对象。

请尝试使用此方法并查看。如果对你有用,请告诉我。在这种情况下,我们需要改进mule文档

<java:args >#[{req: vars.req}]</java:args>
#[{req:vars.req}]

请尝试使用此功能并查看。如果对你有用,请告诉我。在这种情况下,我们需要改进mule文档

<java:args >#[{req: vars.req}]</java:args>
#[{req:vars.req}]

请发布流中ValidationServiceImpl类的完整流和构造函数的定义,因为您的流丢失“@AlanM我已经更新了相同的内容请发布流中ValidationServiceImpl类的完整流和构造函数的定义,因为您的流丢失”@我已经更新了sameGreat来听你这么说。我已经通知mule documentation团队更新文档,以反映对象是从Workflow实例化的java自定义类的其他情况。请帮助我解决这个问题。提前谢谢听到这个消息真是太好了。我已经通知mule documentation团队更新文档,以反映对象是从Workflow实例化的java自定义类的其他情况。请帮助我解决这个问题。提前谢谢