当前位置: 首页 > 知识库问答 >
问题:

mule json到对象的转换器抛出异常没有单字符串构造函数/工厂方法

糜运良
2023-03-14

我有这样一个简单的流程——

<sub-flow name="myFlow">
     <set-payload value="{&quot;p_SuccessInd&quot;:&quot;Y&quot;}" doc:name="Set Payload"/>
        <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
        <logger message="&gt;&gt;&gt;&gt;&gt;&gt;&gt;My payload is&gt;&gt;&gt;&gt;#[payload]" level="INFO" doc:name="Logger"/>
    </sub-flow>

当我运行它时,我收到异常 - 消息

如果我在没有转换器的情况下运行它,有效负载将打印为-{“p_SuccessInd”:“Y”}

有人能帮我弄清楚我做错了什么吗?

共有2个答案

章涵容
2023-03-14

请找到下面的骡子流:

<flow name="test">
        <http:listener config-ref="HTTP_Listener_Configuration" doc:name="HTTP" path="/test" />  
<set-payload value="{&quot;p_SuccessInd&quot;:&quot;Y&quot;}" doc:name="Set Payload"/>
        <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
        <logger message="&gt;&gt;&gt;&gt;&gt;&gt;&gt;My payload is&gt;&gt;&gt;&gt;#[payload]" level="INFO" doc:name="Logger"/>
 </flow>
蔡明贤
2023-03-14

这是意料之中的,因为您的 JSON 是 {“p_SuccessInd”:“Y”}
尝试使用

<sub-flow name="myFlow">
   <set-payload value="{&quot;p_SuccessInd&quot;:&quot;Y&quot;}" doc:name="Set Payload"/>
   <json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object" />
   <logger message="Extracted Value :- #[message.payload.p_SuccessInd]" level="INFO" doc:name="Logger"/>
   <json:object-to-json-transformer doc:name="Object to JSON" />
   <logger message="My payload is :-#[message.payload]" level="INFO" doc:name="Logger"/>
 </sub-flow>

 类似资料: