3

我遇到了一个问题,即源系统中存在非法字符,当它遇到 DataWeave 转换器时会引发错误。我们已经修复了源系统中的数据,但是我们应该能够在 Mule 中去除这个非法字符。这是它击中 DataWeave 转换器时发生的错误。我需要有关如何以及在何处删除这些“非法”字符的帮助。

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)
********************************************************************************
4

2 回答 2

0

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

于 2015-12-30T14:32:34.087 回答
-1

创建自定义类以从消息中去除非法字符。

于 2016-02-15T16:01:07.627 回答