如果将Dataweave Transformer有效负载中使用的flowVar转换为Map,则为ule子 [英] Mule if flowVar used in Dataweave Transformer payload converted to Map

查看:70
本文介绍了如果将Dataweave Transformer有效负载中使用的flowVar转换为Map,则为ule子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了一个Mule Dataweave Transformer出现错误的问题,这仅在以下情况下发生:-

I have an issue with a Mule Dataweave Transformer getting an error, this only occurs if :-

  1. 目前有一个浓缩器,包裹着json:json-to-object-transformer

  1. An enricher is present wrapping a json:json-to-object-transformer

 <enricher target="#[flowVars.myVar]" doc:name="Message Enricher"> 
    <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/>
</enricher>

  • DataVave变压器中包含flowVar

  • A flowVar is involved in the Dataweave Transformer

    该异常发生在第二个dataweave上:-

    The exception occurs on the 2nd dataweave :-

    ERROR 2017-08-15 09:09:52,239 [amqpReceiver.02] org.mule.exception.RollbackMessagingExceptionStrategy: 
    ********************************************************************************
    Message               : Exception while executing: 
    {bar=1, foo=0}
     ^
    Unexpected character 'b' at index 1 (line 1, position 2), expected '"'
    Payload               : com.mulesoft.weave.reader.ByteArraySeekableStream@39e7a0d3
    Element               : /subscribe-to-changeFlow4/processors/4 @ voa-009-mule-authorisation-search-api:test3.xml:58 (Transform Message)
    Element XML           : <dw:transform-message doc:name="Transform Message">
                            <dw:input-payload mimeType="application/json"></dw:input-payload>
                            <dw:set-payload>%dw 1.0%output application/json---{field1: payload.foo,field2: payload.bar,field3: flowVars.myFlowVar}</dw:set-payload>
                            </dw:transform-message>
    --------------------------------------------------------------------------------
    Root Exception stack trace:
    com.mulesoft.weave.reader.json.JsonReaderException: Unexpected character 'b' at index 1 (line 1, position 2), expected '"'
        at com.mulesoft.weave.reader.json.JsonTokenizer.fail(JsonTokenizer.scala:193)
        at com.mulesoft.weave.reader.json.JsonTokenizer.require(JsonTokenizer.scala:190)
        at com.mulesoft.weave.reader.json.JsonTokenizer.readString(JsonTokenizer.scala:74)
        at com.mulesoft.weave.reader.json.JsonTokenizer.readObjectMembers(JsonTokenizer.scala:146)
        at com.mulesoft.weave.reader.json.JsonTokenizer.com$mulesoft$weave$reader$json$JsonTokenizer$$readObject(JsonTokenizer.scala:140)
        at com.mulesoft.weave.reader.json.JsonTokenizer$$anonfun$readValue$1.apply$mcV$sp(JsonTokenizer.scala:37)
    

    发生的事情是,将flowVar添加到第二数据编织中后,有效负载似乎显示为Map而不是JSON.

    What happens is as soon as a flowVar is added into the 2nd data weave, then the payload seems to show as a Map rather than JSON.

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆