我遇到过一个问题,即源系统中存在非法字符,当它触及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)
********************************************************************************
答案 0 :(得分:0)
流程期望有效的SOAP消息。如果消息无效,那么您所做的就是正确的解决方案:修复源系统。删除字符并不意味着该消息是有意义的。
答案 1 :(得分:-1)
创建自定义类以从邮件中删除非法字符。