如何在 mule 中将 ManagedCursorStreamProvider 转换为 Json 对象。
我写了一个java方法,它将Json对象作为输入
Request Payload:
{ a: "one",
b : "two"}
调用静态
arg0 : payload
使用invoke static调用Java函数
public static func(JsonObject json){
}
我收到以下错误:
预期参数为 [com.google.gson.JsonObject jsonObject] 和
尝试使用参数调用
[org.mule.runtime.core.internal.streaming.bytes.ManagedCursorStreamProvider
arg0]。
未找到合适的转换来匹配预期类型
参数[jsonObject]。
UPDATE:我已经更新了我的 java 方法以接受字符串作为输入。
"Cannot coerce Object { encoding: UTF-8, mediaType: application/json; charset=UTF-8, mimeType: application/json, raw: org.mule.weave.v2.el.SeekableCursorStream@868075a } (org.mule.weave.v2.el.MuleTypedValue@7c0c5e89) to String
1| arg0 : vars.req as String
^^^^^^^^^^^^^^^^^^
Trace:
at main (line: 1, column: 8)" evaluating expression: "arg0 : vars.req as String".
Mule 不知道如何转换为 GSON JsonObject。您可以使用 DataWeave 将其转换为 Java 地图。或者,您可以将 Java 方法的参数更改为 String,Mule 会透明地将流转换为 String。请务必使用最新版本的 Java 模块。
如果您想转换为自定义类型的对象,您需要自己用 Java 实现它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)