Я пытаюсь разделить поток по данным, представленным на Карте, который формируется после использования Mule Transformer XMLMapper и XML для Map .. Поток выглядит так, как в точке выбора:Конфигурация выбора в Mule Flow в tomcat
<choice doc:name="Choice">
<when expression="#[message.payload['interfaceId'] == 'BK131108.1655.000698']" >
<processor-chain doc:name="AUB Encryption" />
...
</when>
......
</choice>
же поток отлично работает, когда я запускаю его на Mule студии на Windows, машине .. Но когда я развернуть поток (с всем проектом) на кот на Linux машине я получаю сообщение об ошибке ...
DEBUG 2015-08-25 11:46:43,908 [[eig-1.0].BankServiceJMS.stage1.02] com.comviva.mfs.eig.transformers.XmlToMap: The transformed object is of expected type. Type is: HashMap
ERROR 2015-08-25 11:46:43,914 [[eig-1.0].BankServiceJMS.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy: Caught exception in Exception Strategy: null
java.lang.NullPointerException
at org.mule.routing.filters.ExpressionFilter.getFullExpression(ExpressionFilter.java:140)
at org.mule.routing.filters.ExpressionFilter.accept(ExpressionFilter.java:104)
at org.mule.routing.ChoiceRouter.selectProcessors(ChoiceRouter.java:35)
at org.mule.routing.AbstractSelectiveRouter.process(AbstractSelectiveRouter.java:194)
at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:99)
at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:66)
at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:105)
at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
at org.mule.processor.AsyncInterceptingMessageProcessor.processNextTimed(AsyncInterceptingMessageProcessor.java:111)
at org.mule.processor.AsyncInterceptingMessageProcessor$AsyncMessageProcessorWorker.doRun(AsyncInterceptingMessageProcessor.java:158)
at org.mule.work.AbstractMuleEventWork.run(AbstractMuleEventWork.java:43)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Любые предложения ....
@David: Пожалуйста, проверьте .. – Atmaram
выглядит как ур полезной нагрузки, не имеет этого «interfaceId». Не могли бы вы использовать регистратор перед этим выбором и напечатать # [message.payload ['interfaceId']] работает или нет. – tortoise
Посмотрите, измените ли выражение выражение на "# [message.payload.interfaceId == 'BK131108.1655.000698']". –