如何在Java子中将Java对象传递给Java函数
问题描述:
我试图在m子中调用Java函数,将有效负载转换为Object并将其传递给函数. 创建的Java对象的名称为 req . validate方法接受类型为Example的Java对象
I am trying to invoke a java function in mule.I converted the payload into the Object and passed it in the function. The name of the Java object created is req. The method validate accepts a Java Object Of type Example
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对象.
I don't know why is it not passing the java object as a whole.
答
请尝试使用此方法并查看.如果它对您有用,请告诉我.在这种情况下,我们需要改进the子的文档.
Please try with this and see. If it works for you please let me know. We need to improve the mule documentation in this case
<java:args >#[{req: vars.req}]</java:args>