org.mule.umo.routing.RoutingException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • Using a Database Reader to select multiple columns from a SQL 2005 database, one of which is of type TEXT, causes an error when database polling begins. I have a database reader which reads from a SQL 2005 database using the following query. I have a database reader which reads from a SQL 2005 database using the following query. Code: SELECT OutgoingMessageID,RawData FROM OutgoingMessage OutgoingMessageID's type is unique identifier, and RawData's is TEXT (this field contains an entire HL7 v2 message). When this channel starts polling, I get the following error: Code: INFO | jvm 1 | 2009/04/08 08:54:54 | ERROR 2009-04-08 08:54:54,690 [cd837093-5930-4e9e-984f-925d96ce5870_source_connector._jdbcEndpoint#-1243393496.receiver.2] org.mule.impl.DefaultComponentExceptionStrategy: Caught exception in Exception Strategy for: cd837093-5930-4e9e-984f-925d96ce5870: org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth.connectors.jdbc.JdbcConnector@1db9433, endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[interface java.util.Map, class java.lang.String]}, name='_jdbcEndpoint#-1243393496', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionConfig@1e0eeb9, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap INFO | jvm 1 | 2009/04/08 08:54:54 | org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth.connectors.jdbc.JdbcConnector@1db9433, endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[interface java.util.Map, class java.lang.String]}, name='_jdbcEndpoint#-1243393496', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionConfig@1e0eeb9, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:64) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:79) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:493) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:272) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:235) INFO | jvm 1 | 2009/04/08 08:54:54 | at com.webreach.mirth.connectors.jdbc.JdbcMessageReceiver.processMessage(JdbcMessageReceiver.java:171) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.doInTransaction(TransactedPollingMessageReceiver.java:159) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:72) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.run(TransactedPollingMessageReceiver.java:149) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290) INFO | jvm 1 | 2009/04/08 08:54:54 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) INFO | jvm 1 | 2009/04/08 08:54:54 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) INFO | jvm 1 | 2009/04/08 08:54:54 | at java.lang.Thread.run(Unknown Source) INFO | jvm 1 | 2009/04/08 08:54:54 | Caused by: org.mule.umo.transformer.TransformerException: Failed to parse result map INFO | jvm 1 | 2009/04/08 08:54:54 | at com.webreach.mirth.server.mule.transformers.ResultMapToXML.doTransform(ResultMapToXML.java:110) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:61) INFO | jvm 1 | 2009/04/08 08:54:54 | ... 12 more The unusual thing is that if I select only the RawData column the channel does not produce errors. The error only occurs when selecting multiple columns (of any type) in that query. The only workaround I've found, at this point, is to use SQL SERVER's CAST function to cast the RawData TEXT column to type VARCHAR(MAX). Code: SELECT OutgoingMessageID AS OutgoingMessage_OutgoingMessageID, CAST(OutgoingMessage.RawData as varchar(MAX)) AS OutgoingMessage_RawData FROM OutgoingMessage When I use this, everything works again. The message is processed, and sent out successfully via an LLP Sender.
    via by Jordan S,
  • Using a Database Reader to select multiple columns from a SQL 2005 database, one of which is of type TEXT, causes an error when database polling begins. I have a database reader which reads from a SQL 2005 database using the following query. I have a database reader which reads from a SQL 2005 database using the following query. Code: SELECT OutgoingMessageID,RawData FROM OutgoingMessage OutgoingMessageID's type is unique identifier, and RawData's is TEXT (this field contains an entire HL7 v2 message). When this channel starts polling, I get the following error: Code: INFO | jvm 1 | 2009/04/08 08:54:54 | ERROR 2009-04-08 08:54:54,690 [cd837093-5930-4e9e-984f-925d96ce5870_source_connector._jdbcEndpoint#-1243393496.receiver.2] org.mule.impl.DefaultComponentExceptionStrategy: Caught exception in Exception Strategy for: cd837093-5930-4e9e-984f-925d96ce5870: org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth.connectors.jdbc.JdbcConnector@1db9433, endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[interface java.util.Map, class java.lang.String]}, name='_jdbcEndpoint#-1243393496', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionConfig@1e0eeb9, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap INFO | jvm 1 | 2009/04/08 08:54:54 | org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth.connectors.jdbc.JdbcConnector@1db9433, endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[interface java.util.Map, class java.lang.String]}, name='_jdbcEndpoint#-1243393496', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionConfig@1e0eeb9, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:64) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:79) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:493) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:272) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:235) INFO | jvm 1 | 2009/04/08 08:54:54 | at com.webreach.mirth.connectors.jdbc.JdbcMessageReceiver.processMessage(JdbcMessageReceiver.java:171) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.doInTransaction(TransactedPollingMessageReceiver.java:159) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:72) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.run(TransactedPollingMessageReceiver.java:149) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290) INFO | jvm 1 | 2009/04/08 08:54:54 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) INFO | jvm 1 | 2009/04/08 08:54:54 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) INFO | jvm 1 | 2009/04/08 08:54:54 | at java.lang.Thread.run(Unknown Source) INFO | jvm 1 | 2009/04/08 08:54:54 | Caused by: org.mule.umo.transformer.TransformerException: Failed to parse result map INFO | jvm 1 | 2009/04/08 08:54:54 | at com.webreach.mirth.server.mule.transformers.ResultMapToXML.doTransform(ResultMapToXML.java:110) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251) INFO | jvm 1 | 2009/04/08 08:54:54 | at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:61) INFO | jvm 1 | 2009/04/08 08:54:54 | ... 12 more The unusual thing is that if I select only the RawData column the channel does not produce errors. The error only occurs when selecting multiple columns (of any type) in that query. The only workaround I've found, at this point, is to use SQL SERVER's CAST function to cast the RawData TEXT column to type VARCHAR(MAX). Code: SELECT OutgoingMessageID AS OutgoingMessage_OutgoingMessageID, CAST(OutgoingMessage.RawData as varchar(MAX)) AS OutgoingMessage_RawData FROM OutgoingMessage When I use this, everything works again. The message is processed, and sent out successfully via an LLP Sender.
    via by Jordan S,
    • org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth.connectors.jdbc.JdbcConnector@1db9433, endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[interface java.util.Map, class java.lang.String]}, name='_jdbcEndpoint#-1243393496', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionConfig@1e0eeb9, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:64) at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:79) at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:493) at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:272) at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:235) at com.webreach.mirth.connectors.jdbc.JdbcMessageReceiver.processMessage(JdbcMessageReceiver.java:171) at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.doInTransaction(TransactedPollingMessageReceiver.java:159) at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:72) at org.mule.providers.TransactedPollingMessageReceiver$MessageProcessorWorker.run(TransactedPollingMessageReceiver.java:149) at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Unknown Source) Caused by: org.mule.umo.transformer.TransformerException: Failed to parse result map at com.webreach.mirth.server.mule.transformers.ResultMapToXML.doTransform(ResultMapToXML.java:110) at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197) at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251) at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:61) ... 12 more
    No Bugmate found.