从Mule中的消息流中剥离非法字符

时间:2015-11-30 22:49:53

标签: mule dataweave

我遇到过一个问题,即源系统中存在非法字符,当它触及DataWeave变换器时会发生错误。我们已经修复了源系统中的数据,但是我们应该能够在Mule中删除这个非法字符。这是它碰到DataWeave Transformer时发生的错误。我需要帮助解决这些“非法”角色的剥离方式和位置。

ERROR 2015-11-30 17:46:16,837 [[ServiceNow].HTTP_8081_listener.worker.01] org.mule.exception.CatchMessagingExceptionStrategy: 
********************************************************************************
Message               : Illegal character ((CTRL-CHAR, code 25))
 at [row,col {unknown-source}]: [1,916] (com.ctc.wstx.exc.WstxUnexpectedCharException). Message payload is of type: WeaveMessageProcessor$WeaveOutputHandler
Type                  : org.mule.api.MessagingException
Code                  : MULE_ERROR--2
JavaDoc               : http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html
Payload               : com.mulesoft.weave.mule.WeaveMessageProcessor$WeaveOutputHandler@692ffd69
********************************************************************************
Exception stack is:
1. Illegal character ((CTRL-CHAR, code 25))
 at [row,col {unknown-source}]: [1,916] (com.ctc.wstx.exc.WstxUnexpectedCharException)
  com.ctc.wstx.sr.StreamScanner:674 (null)
2. Illegal character ((CTRL-CHAR, code 25))
 at [row,col {unknown-source}]: [1,916] (com.ctc.wstx.exc.WstxUnexpectedCharException). Message payload is of type: WeaveMessageProcessor$WeaveOutputHandler (org.mule.api.MessagingException)
  org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor:32 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
********************************************************************************

2 个答案:

答案 0 :(得分:0)

流程期望有效的SOAP消息。如果消息无效,那么您所做的就是正确的解决方案:修复源系统。删除字符并不意味着该消息是有意义的。

答案 1 :(得分:-1)

创建自定义类以从邮件中删除非法字符。