Return-Path: X-Original-To: apmail-camel-users-archive@www.apache.org Delivered-To: apmail-camel-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EB9182FDF for ; Thu, 21 Apr 2011 13:51:42 +0000 (UTC) Received: (qmail 3534 invoked by uid 500); 21 Apr 2011 13:51:42 -0000 Delivered-To: apmail-camel-users-archive@camel.apache.org Received: (qmail 3497 invoked by uid 500); 21 Apr 2011 13:51:42 -0000 Mailing-List: contact users-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@camel.apache.org Delivered-To: mailing list users@camel.apache.org Received: (qmail 3489 invoked by uid 99); 21 Apr 2011 13:51:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Apr 2011 13:51:42 +0000 X-ASF-Spam-Status: No, hits=3.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sorin7486@gmail.com designates 209.85.212.179 as permitted sender) Received: from [209.85.212.179] (HELO mail-px0-f179.google.com) (209.85.212.179) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Apr 2011 13:51:36 +0000 Received: by pxi2 with SMTP id 2so1592962pxi.24 for ; Thu, 21 Apr 2011 06:51:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=7KsQkIk4NJoQhRkI/v8C/P7imZERmPFtouT1qZKbl4o=; b=P6SHA3js9NNjAuA+ba4a5tE7Dx4TH4nHWASnWhczoBwEIx2wCwomJsa1EZFieruZBg N5jgZYrixbCcjTtR8YiloFhLRU4U+IhTNsrrpv8Yfw9h0fdvyip935JuEdaG20nlQQje HhyK1yCTXFRiOkdTiBOviVu57/JyRWEbOj8fo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=QjEB87fFPGiSQkcRy/UVj1NUcr5WwrkUJq/8uBqYN4hgQj5vgSKrGdLGyP/fB+aLYB HWcFUjfkR3zrF8TCphAeRJcVXxqfJLZZLykDWp36T7Gt2tLdzzqIbSb11FJhRAVqk8Hl OmxxYOII5id2yOlQbRnwoKwZwWLQXO1s4WenQ= MIME-Version: 1.0 Received: by 10.68.48.163 with SMTP id m3mr11972711pbn.236.1303393874233; Thu, 21 Apr 2011 06:51:14 -0700 (PDT) Received: by 10.68.66.135 with HTTP; Thu, 21 Apr 2011 06:51:14 -0700 (PDT) In-Reply-To: References: Date: Thu, 21 Apr 2011 16:51:14 +0300 Message-ID: Subject: Re: can't get freemarker component to work with XML content. From: Sorin Silaghi To: users@camel.apache.org Content-Type: multipart/alternative; boundary=bcaec53af218e0496704a16e08bc X-Virus-Checked: Checked by ClamAV on apache.org --bcaec53af218e0496704a16e08bc Content-Type: text/plain; charset=ISO-8859-1 Hi, Thanks, I managed to get it to work. I just made some changes to the pom.xml inspired by the example and now it all works fine. Sorin. On Thu, Apr 21, 2011 at 11:56 AM, Sorin Silaghi wrote: > Hi > > The version of Freemarker I'm using is 2.3.16 while the version in the > camel component seems to be 2.3.15. I thought this wasn't relevant but now > that you mention it I'll try to build my processor with 2.3.15 to see if I > can reproduce the error. > > Also here's the code to my processor: http://pastebin.com/LLGyux1J > > > Sorin. > > > On Thu, Apr 21, 2011 at 11:44 AM, Claus Ibsen wrote: > >> Hi >> >> You get a NPE in freemaker. Maybe there is a never release of >> freemarker you can try with? Also maybe consider reporting the NPE to >> freemarker so they can get that fixed. >> >> Caused by: java.lang.NullPointerException >> at >> freemarker.template.utility.StringUtil.matchesName(StringUtil.java:1111) >> at freemarker.ext.dom.ElementModel.matchesName(ElementModel.java:208) >> at freemarker.ext.dom.DocumentModel.get(DocumentModel.java:87) >> ... 52 more >> >> >> Can you also provide an unit test / sample code what you do inside the >> processor that works? >> Maybe we can use that to look into camel-freemarker. Maybe there is >> something there we can do to workaround the issue. >> >> >> On Wed, Apr 20, 2011 at 5:04 PM, Sorin Silaghi >> wrote: >> > Hi all, >> > >> > >> > I'm using camel inside servicemix to process some files and I >> can't >> > get the freemarker component to work propperly with XML content. Here's >> what >> > I did: >> > >> > I created a processor to convert the body of the exchange message >> > from String to NodeModel. If I then use freemarker right in the >> processor to >> > apply the template it all works fine. But if I pass it along to the >> > camel-freemarker component the exception you can see below. >> > >> > Is there an example somewhere of how to do this ? I expected this >> to >> > be a fairly comon usecase but I can't seem to find mutch about it. >> > >> > 17:55:20,559 | ERROR | 703e5f9-thread-4 | DefaultErrorHandler >> | >> > 68 - org.apache.camel.camel-core - 2.6.0.fuse-01-09 | Failed delivery >> for >> > exchangeId: ID-moredevs5-34851-1303311211406-5-27. Exhausted after >> delivery >> > attempt: 1 caught: freemarker.template.TemplateModelException: >> > get(Warensendungen) failed on instance of >> freemarker.ext.dom.DocumentModel >> > freemarker.template.TemplateModelException: get(Warensendungen) failed >> on >> > instance of freemarker.ext.dom.DocumentModel >> > at >> > >> freemarker.ext.beans.BeanModel.get(BeanModel.java:223)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.DynamicKeyName.dealWithStringKey(DynamicKeyName.java:136)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:94)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.Expression.getAsTemplateModel(Expression.java:89)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.NodeBuiltins$NodeBuiltIn._getAsTemplateModel(NodeBuiltins.java:69)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.Expression.getAsTemplateModel(Expression.java:89)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.Environment.visit(Environment.java:209)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.MixedContent.accept(MixedContent.java:92)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.Environment.visit(Environment.java:209)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.core.Environment.process(Environment.java:189)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.template.Template.process(Template.java:237)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> org.apache.camel.component.freemarker.FreemarkerEndpoint.onExchange(FreemarkerEndpoint.java:143)[307:org.apache.camel.camel-freemarker:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:72)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:174)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.Pipeline.process(Pipeline.java:125)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09] >> > at >> > >> org.apache.servicemix.camel.nmr.ServiceMixConsumer.process(ServiceMixConsumer.java:78)[209:org.apache.servicemix.camel.component:4.3.1.fuse-01-09] >> > at >> > >> org.apache.servicemix.nmr.core.InternalEndpointWrapper.process(InternalEndpointWrapper.java:86)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-01-09] >> > at >> > >> org.apache.servicemix.nmr.core.ChannelImpl.process(ChannelImpl.java:255)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-01-09] >> > at >> > >> org.apache.servicemix.nmr.core.ChannelImpl$1.run(ChannelImpl.java:215)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-01-09] >> > at >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.6.0_20] >> > at >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.6.0_20] >> > at java.lang.Thread.run(Thread.java:636)[:1.6.0_20] >> > Caused by: java.lang.reflect.InvocationTargetException >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> > Method)[:1.6.0_20] >> > at >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.6.0_20] >> > at >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.6.0_20] >> > at java.lang.reflect.Method.invoke(Method.java:616)[:1.6.0_20] >> > at >> > >> freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:840)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.ext.beans.BeanModel.invokeGenericGet(BeanModel.java:318)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > at >> > >> freemarker.ext.beans.BeanModel.get(BeanModel.java:185)[306:org.apache.servicemix.bundles.freemarker:2.3.15.4] >> > ... 45 more >> > Caused by: java.lang.NullPointerException >> > at >> > freemarker.template.utility.StringUtil.matchesName(StringUtil.java:1111) >> > at freemarker.ext.dom.ElementModel.matchesName(ElementModel.java:208) >> > at freemarker.ext.dom.DocumentModel.get(DocumentModel.java:87) >> > ... 52 more >> > >> >> >> >> -- >> Claus Ibsen >> ----------------- >> FuseSource >> Email: cibsen@fusesource.com >> Web: http://fusesource.com >> CamelOne 2011: http://fusesource.com/camelone2011/ >> Twitter: davsclaus >> Blog: http://davsclaus.blogspot.com/ >> Author of Camel in Action: http://www.manning.com/ibsen/ >> > > --bcaec53af218e0496704a16e08bc--