如何获取有关muleosft中的dataweave异常的更多信息

时间:2016-11-06 03:47:46

标签: mule mule-studio dataweave

我在执行mule流程时遇到了dataweave异常:

"
        INFO  2016-11-06 09:02:42,097 [[abc].HTTP_Listener_Configuration.worker.01] com.mulesoft.weave.mule.utils.MuleWeaveFactory$: MimeType was not resolved '*/*' delegating to Java.
    ERROR 2016-11-06 09:02:42,290 [[abc].HTTP_Listener_Configuration.worker.01] org.mule.exception.CatchMessagingExceptionStrategy: 
    Message               : Exception while executing: 
    "Response": {
                   ^
    Unexpected character '\u000a' at index 25 (line 2, position 24), expected '"'
    Payload               : test
    Payload Type          : java.lang.String
    Element               : /Process11/processors/9/1/9 @ abc:def.xml:331 (TM_F1)
    Element XML           : <dw:transform-message doc:name="TM_F1">
                    <dw:set-payload>%dw 1.0%output application/json---{Data: [{//       in_id : flowVars.instanceId,pd: '{AmIds:[{AmId:' ++ flowVars.AmId ++ '}]}'}]}</dw:set-payload>
                    </dw:transform-message>
    Root Exception stack trace:
    com.mulesoft.weave.reader.json.JsonReaderException: Unexpected character '\u000a' at index 25 (line 2, position 24), 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:80)
"

是否有可能启用更多调试选项以获取有关此特定异常的更多信息,以便更容易找出根本原因。

这里的问题是,即使我没有在转换消息中使用有效负载,我也会收到错误,因为muleflow中先前的http调用返回了有效负载。

Mule版本是:studio 6.1和运行时3.8。

请帮我解决这个问题。

由于 SDG

3 个答案:

答案 0 :(得分:2)

这不是数据编织问题。您拥有的异常来自JsonReaderException:

var text = '{"text":"Va rog sa ne trimiteti locatia"}';
var obj = JSON.parse(text);
console.log(obj.text);

这意味着你提供的JSON有新行(\ u000a)吃第2行的位置24.我想它是这样的:

com.mulesoft.weave.reader.json.JsonReaderException: Unexpected character '\u000a' at index 25 (line 2, position 24), expected '"'

使用特殊字符表示JSON中的新行。

"Response": {
  "Message" : "67890123
                       456 the end"
}

答案 1 :(得分:0)

启用log4j中的信息日志,并在cloudhub上启用调试日志,如果它是云部署。

请尝试验证json

答案 2 :(得分:0)

调试是找出这类错误的最佳选择。您也可以使用dataweave的记录器功能在控制台上记录特定值,并查看该值是否有错误。