Hi

What version of Camel are you using?



On Thu, Dec 8, 2011 at 11:20 AM, Pointless <pointless2...@yahoo.com> wrote:
> Hello,
>
> Could you please take a look at the camel context and log output below - why
> does onException block use "customerpaymentstatusreportv03.SharedRoute"
> logger name when printing error message? The error has occurred in
> "customerpaymentstatusreportv03.MainRouteEE" route's setProperty clause (in
> Xpath), because otherwise the following line
> <log message="Exchange[Id:${exchangeId}];${property.REQUEST_ID}"
> loggingLevel="INFO" />
> would be printed to the log.
>
> Igor
>
> =============================
>
> 2011-12-08 11:46:02,332 | DEBUG | customerpaymentstatusreportv03.MainRouteEE
> | Exchange[Id:ID:51756575655a656584d2b02ac5af29d0b18984e6e1d944b5,
> ExchangePattern:InOnly, BodyType:byte[]]
> 2011-12-08 11:46:02,354 | ERROR |
> *customerpaymentstatusreportv03.SharedRoute* |
> Exchange[Id:ID:51756575655a656584d2b02ac5af29d0b18984e6e1d944b5];;Error has
> occurred: [B cannot be cast to org.w3c.dom.Node. Stacktrace:
> java.lang.ClassCastException: [B cannot be cast to org.w3c.dom.Node
>        at
> org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:121)
>        at
> org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:99)
>        at
> org.apache.xpath.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:184)
>        at
> org.apache.camel.builder.xml.XPathBuilder.doInEvaluateAs(XPathBuilder.java:667)
>        at
> org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:639)
>        at
> org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder.java:612)
>        at
> org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder.java:138)
>        at
> org.apache.camel.builder.ProcessorBuilder$7.process(ProcessorBuilder.java:148)
>        at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
>        at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:106)
>        at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:63)
>        at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>        at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
>
> =============================
>
>        <camel-osgi:camelContext id="customerPaymentStatusReportV03"
> xmlns="http://camel.apache.org/schema/spring";
>                        
> xmlns:urn="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
>
>                <properties>
>                        <property key="CamelLogDebugBodyMaxChars" value="1"/>
>                        <property key="CamelLogDebugStreams" value="false"/>
>                </properties>
>
>                <propertyPlaceholder id="properties" location="file:..."/>
>
>        <endpoint id="queue_lv" uri="ibmmq:..." />
>        <endpoint id="queue_ee" uri="ibmmq:..." />
>        <endpoint id="queue_esb" uri="ibmmq:..."/>
>        <endpoint id="call_esb_service" uri="direct:call_esb_service" />
>
>        *<onException>*
>            <exception>java.lang.Exception</exception>
>            <handled><constant>false</constant></handled>
>            <log
> message="Exchange[Id:${exchangeId}];${property.REQUEST_ID};Error has
> occurred: ${exception.message}. Stacktrace: ${exception.stacktrace}"
> loggingLevel="ERROR" />
>       * </onException>*
>
>
>            *<route id="customerpaymentstatusreportv03.MainRouteLV">*
>                <from ref="queue_lv"/>
>                        <transacted ref="PROPAGATION_REQUIRED" />
>                <setExchangePattern pattern="InOnly" />
>
>                <to
> uri="log:customerpaymentstatusreportv03.MainRouteLV?showProperties=false&showExchangeId=true&showHeaders=false&showBody=false&level=DEBUG"/>
>                        <setProperty propertyName="REQUEST_ID">
>                                <xpath
> resultType="java.lang.String">concat(//urn:CstmrPmtStsRpt/urn:GrpHdr/urn:MsgId,
> ",", //urn:CstmrPmtStsRpt/urn:OrgnlGrpInfAndSts/urn:OrgnlMsgId)</xpath>
>                        </setProperty>
>                        <log 
> message="Exchange[Id:${exchangeId}];${property.REQUEST_ID}"
> loggingLevel="INFO" />
>
>                <to ref="call_esb_service" />
>                        <log 
> message="Exchange[Id:${exchangeId}];${property.REQUEST_ID};Service
> successfully executed." loggingLevel="DEBUG" />
>        </route>
>
>
>            *<route id="customerpaymentstatusreportv03.MainRouteEE">*
>                <from ref="queue_ee" />
>                        <transacted ref="PROPAGATION_REQUIRED" />
>                <setExchangePattern pattern="InOnly" />
>
>                <to
> uri="log:customerpaymentstatusreportv03.MainRouteEE?showProperties=false&showExchangeId=true&showHeaders=false&showBody=false&level=DEBUG"/>
>                        *<setProperty propertyName="REQUEST_ID">*
>                                <xpath
> resultType="java.lang.String">concat(//urn:CstmrPmtStsRpt/urn:GrpHdr/urn:MsgId,
> ",", //urn:CstmrPmtStsRpt/urn:OrgnlGrpInfAndSts/urn:OrgnlMsgId)</xpath>
>                        *</setProperty>*
>                        <log 
> message="Exchange[Id:${exchangeId}];${property.REQUEST_ID}"
> loggingLevel="INFO" />
>
>                <to ref="call_esb_service" />
>                        <log 
> message="Exchange[Id:${exchangeId}];${property.REQUEST_ID};Service
> successfully executed." loggingLevel="DEBUG" />
>                </route>
>
>
>                *<route id="customerpaymentstatusreportv03.SharedRoute">*
>                <from ref="call_esb_service" />
>                <transacted ref="PROPAGATION_REQUIRED" />
>
>                <setExchangePattern pattern="InOnly" />
>                <setHeader headerName="ESBHeader_ServiceName">
>                        <constant>PaymentsInitiationCallback</constant>
>                </setHeader>
>                <setHeader headerName="ESBHeader_ServiceOperation">
>                        <constant>customerPaymentStatusReportV03</constant>
>                </setHeader>
>
>                <to ref="queue_esb" />
>                </route>
>
>        </camel-osgi:camelContext>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/global-onException-clause-wrongly-identifies-route-in-which-exception-occurs-log-name-tp5058304p5058304.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to