You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Peter Maas <pf...@gmail.com> on 2009/03/02 20:09:46 UTC

content-enrich

Hi list,

I'm developing a proof-of-concept application using Camel 2.0.  
Everything seems to work just find... except for the content-enricher.  
Both the resource exchange passed to my AggregationStrategy look  
identical. Whilst if I print the contents of the resource route I the  
the correct xml in the exchange after calling the http service. My  
routes look like this:

		// split messages when received from the incoming mq
		// enrich if move. Always stor in database
		from("activemq:topic:incomingVPROGuide")
			.split(vpro.xpath("//vpro:program")).parallelProcessing(true)
			.choice()
				.when(vpro.xpath("/vpro:program[@isMovie = 'true']"))	
					.enrich("direct:enrichMovie", new ProgramMerger())
					.to("direct:save")
				.otherwise().to("direct:save");
	
		// the generic save route
		from("direct:save")
			.setHeader("xmldb.resource.name", vpro.xpath("//vpro:program/@id",  
String.class))
			.process(sanitize("xmldb.resource.name"))
			.to("xmldb:/programs");
		
		// route to retrieve data from external
		// rest service
		from("direct:enrichMovie")
			.setHeader("title", vpro.xpath("/vpro:program/vpro:title[1]/ 
text()", String.class))
			.setHeader("director", vpro.xpath("//vpro:person[@urn = 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' 
  and 1]/vpro:familyName/text()", String.class))
			.setHeader("year", vpro.xpath("//vpro:year[1]/text()", String.class))
			.process(new CinemaQueryAssembler())
			.to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");

The xmldb producer is a patched version of the camel-extra project.  
Everything works fine, apart from the enricher...

Any hints?

kind regards,

Peter Maas

Re: content-enrich

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Mar 3, 2009 at 9:56 AM, Martin Krasser <de...@martin-krasser.de> wrote:
> ... just updated the enricher documentation with an example aggregation
> strategy.
>
> Martin
Thanks a lot.

>
> Peter Maas schrieb:
>>
>> On Mar 3, 2009, at 8:10 , Claus Ibsen wrote:
>>
>>> On Tue, Mar 3, 2009 at 7:56 AM, Peter Maas <pf...@gmail.com> wrote:
>>>>
>>>> I think you've solved my problem. I was looking at the 'in' message of
>>>> the
>>>> resource exchange, whereas I should be looking at the 'out' message.
>>>> And,
>>>> btw, yes the CinemaQueryAssembler is thread-safe, I actually think all
>>>> code
>>>> should be threadsafe ;)
>>>
>>> Yeah if we could just got some basic annotations in the JDK, eg
>>> @ThreadSafe then you could document it like that :)
>>>
>>> Maybe we need to improve the wiki for using the enricher to state you
>>> should check the OUT for the response.
>>> http://camel.apache.org/content-enricher.html
>>
>> Yeah, I actually think the documentation of the content-enricher is quite
>> sparse, a simple example AggregationStrategy might help a lot:
>>
>>
>> public class ProgramMerger implements AggregationStrategy {
>>
>>    public Exchange aggregate(Exchange original, Exchange resource) {
>>
>>        Document org = original.getIn().getBody(Document.class);
>>        Document additional = resource.getOut().getBody(Document.class);
>>
>>              // create the new 'enriched' message
>>        Document result = ...;
>>        original.getOut().setBody(result);
>>              return original;
>>    }
>>
>> }
>>
>>
>>
>>>>
>>>> On Tue, Mar 3, 2009 at 7:02 AM, Martin Krasser
>>>> <de...@martin-krasser.de>wrote:
>>>>
>>>>> Hi Peter,
>>>>>
>>>>> the route looks good to me.
>>>>>
>>>>> * The in-messages of the original exchange and the resource exchange
>>>>> are
>>>>> always identical. The out-message of the resource exchange will contain
>>>>> the
>>>>> result from 'direct:enrichMovie'.
>>>>> * What message exchange pattern do you use when you test (print the
>>>>> contents of) the 'direct:enrichMovie' route?
>>>>> * Is the CinemaQueryAssembler thread-safe? You're doing parallel
>>>>> processing
>>>>> of split messages.
>>>>>
>>>>> Martin
>>>>>
>>>>> Peter Maas schrieb:
>>>>>
>>>>>  Hi list,
>>>>>>
>>>>>> I'm developing a proof-of-concept application using Camel 2.0.
>>>>>> Everything
>>>>>> seems to work just find... except for the content-enricher. Both the
>>>>>> resource exchange passed to my AggregationStrategy look identical.
>>>>>> Whilst if
>>>>>> I print the contents of the resource route I the the correct xml in
>>>>>> the
>>>>>> exchange after calling the http service. My routes look like this:
>>>>>>
>>>>>>       // split messages when received from the incoming mq
>>>>>>       // enrich if move. Always stor in database
>>>>>>       from("activemq:topic:incomingVPROGuide")
>>>>>>
>>>>>> .split(vpro.xpath("//vpro:program")).parallelProcessing(true)
>>>>>>           .choice()
>>>>>>               .when(vpro.xpath("/vpro:program[@isMovie = 'true']"))
>>>>>>               .enrich("direct:enrichMovie", new ProgramMerger())
>>>>>>                   .to("direct:save")
>>>>>>               .otherwise().to("direct:save");
>>>>>>           // the generic save route
>>>>>>       from("direct:save")
>>>>>>           .setHeader("xmldb.resource.name",
>>>>>> vpro.xpath("//vpro:program/@id", String.class))
>>>>>>           .process(sanitize("xmldb.resource.name"))
>>>>>>           .to("xmldb:/programs");
>>>>>>             // route to retrieve data from external
>>>>>>       // rest service
>>>>>>       from("direct:enrichMovie")
>>>>>>           .setHeader("title",
>>>>>> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>>>>>>           .setHeader("director", vpro.xpath("//vpro:person[@urn =
>>>>>> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and
>>>>>> 1]/vpro:familyName/text()",
>>>>>> String.class))
>>>>>>           .setHeader("year", vpro.xpath("//vpro:year[1]/text()",
>>>>>> String.class))
>>>>>>           .process(new CinemaQueryAssembler())
>>>>>>           .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");
>>>>>>
>>>>>> The xmldb producer is a patched version of the camel-extra project.
>>>>>> Everything works fine, apart from the enricher...
>>>>>>
>>>>>> Any hints?
>>>>>>
>>>>>> kind regards,
>>>>>>
>>>>>> Peter Maas
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>
>>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Re: content-enrich

Posted by Martin Krasser <de...@martin-krasser.de>.
... just updated the enricher documentation with an example aggregation 
strategy.

Martin

Peter Maas schrieb:
>
> On Mar 3, 2009, at 8:10 , Claus Ibsen wrote:
>
>> On Tue, Mar 3, 2009 at 7:56 AM, Peter Maas <pf...@gmail.com> wrote:
>>> I think you've solved my problem. I was looking at the 'in' message 
>>> of the
>>> resource exchange, whereas I should be looking at the 'out' message. 
>>> And,
>>> btw, yes the CinemaQueryAssembler is thread-safe, I actually think 
>>> all code
>>> should be threadsafe ;)
>> Yeah if we could just got some basic annotations in the JDK, eg
>> @ThreadSafe then you could document it like that :)
>>
>> Maybe we need to improve the wiki for using the enricher to state you
>> should check the OUT for the response.
>> http://camel.apache.org/content-enricher.html
>
> Yeah, I actually think the documentation of the content-enricher is 
> quite sparse, a simple example AggregationStrategy might help a lot:
>
>
> public class ProgramMerger implements AggregationStrategy {
>
>     public Exchange aggregate(Exchange original, Exchange resource) {
>
>         Document org = original.getIn().getBody(Document.class);
>         Document additional = resource.getOut().getBody(Document.class);
>
>        
>         // create the new 'enriched' message
>         Document result = ...;
>         original.getOut().setBody(result);
>        
>         return original;
>     }
>
> }
>
>
>
>>>
>>> On Tue, Mar 3, 2009 at 7:02 AM, Martin Krasser 
>>> <de...@martin-krasser.de>wrote:
>>>
>>>> Hi Peter,
>>>>
>>>> the route looks good to me.
>>>>
>>>> * The in-messages of the original exchange and the resource 
>>>> exchange are
>>>> always identical. The out-message of the resource exchange will 
>>>> contain the
>>>> result from 'direct:enrichMovie'.
>>>> * What message exchange pattern do you use when you test (print the
>>>> contents of) the 'direct:enrichMovie' route?
>>>> * Is the CinemaQueryAssembler thread-safe? You're doing parallel 
>>>> processing
>>>> of split messages.
>>>>
>>>> Martin
>>>>
>>>> Peter Maas schrieb:
>>>>
>>>>  Hi list,
>>>>>
>>>>> I'm developing a proof-of-concept application using Camel 2.0. 
>>>>> Everything
>>>>> seems to work just find... except for the content-enricher. Both the
>>>>> resource exchange passed to my AggregationStrategy look identical. 
>>>>> Whilst if
>>>>> I print the contents of the resource route I the the correct xml 
>>>>> in the
>>>>> exchange after calling the http service. My routes look like this:
>>>>>
>>>>>        // split messages when received from the incoming mq
>>>>>        // enrich if move. Always stor in database
>>>>>        from("activemq:topic:incomingVPROGuide")
>>>>>            
>>>>> .split(vpro.xpath("//vpro:program")).parallelProcessing(true)
>>>>>            .choice()
>>>>>                .when(vpro.xpath("/vpro:program[@isMovie = 'true']"))
>>>>>                .enrich("direct:enrichMovie", new ProgramMerger())
>>>>>                    .to("direct:save")
>>>>>                .otherwise().to("direct:save");
>>>>>            // the generic save route
>>>>>        from("direct:save")
>>>>>            .setHeader("xmldb.resource.name",
>>>>> vpro.xpath("//vpro:program/@id", String.class))
>>>>>            .process(sanitize("xmldb.resource.name"))
>>>>>            .to("xmldb:/programs");
>>>>>              // route to retrieve data from external
>>>>>        // rest service
>>>>>        from("direct:enrichMovie")
>>>>>            .setHeader("title",
>>>>> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>>>>>            .setHeader("director", vpro.xpath("//vpro:person[@urn =
>>>>> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and 
>>>>> 1]/vpro:familyName/text()",
>>>>> String.class))
>>>>>            .setHeader("year", vpro.xpath("//vpro:year[1]/text()",
>>>>> String.class))
>>>>>            .process(new CinemaQueryAssembler())
>>>>>            
>>>>> .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");
>>>>>
>>>>> The xmldb producer is a patched version of the camel-extra project.
>>>>> Everything works fine, apart from the enricher...
>>>>>
>>>>> Any hints?
>>>>>
>>>>> kind regards,
>>>>>
>>>>> Peter Maas
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>> -- 
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>
>


Re: content-enrich

Posted by Peter Maas <pf...@gmail.com>.
On Mar 3, 2009, at 8:10 , Claus Ibsen wrote:

> On Tue, Mar 3, 2009 at 7:56 AM, Peter Maas <pf...@gmail.com> wrote:
>> I think you've solved my problem. I was looking at the 'in' message  
>> of the
>> resource exchange, whereas I should be looking at the 'out'  
>> message. And,
>> btw, yes the CinemaQueryAssembler is thread-safe, I actually think  
>> all code
>> should be threadsafe ;)
> Yeah if we could just got some basic annotations in the JDK, eg
> @ThreadSafe then you could document it like that :)
>
> Maybe we need to improve the wiki for using the enricher to state you
> should check the OUT for the response.
> http://camel.apache.org/content-enricher.html

Yeah, I actually think the documentation of the content-enricher is  
quite sparse, a simple example AggregationStrategy might help a lot:


public class ProgramMerger implements AggregationStrategy {

	public Exchange aggregate(Exchange original, Exchange resource) {

		Document org = original.getIn().getBody(Document.class);
		Document additional = resource.getOut().getBody(Document.class);

		
		// create the new 'enriched' message
		Document result = ...;
		original.getOut().setBody(result);
		
		return original;
	}

}



>>
>> On Tue, Mar 3, 2009 at 7:02 AM, Martin Krasser <dev@martin- 
>> krasser.de>wrote:
>>
>>> Hi Peter,
>>>
>>> the route looks good to me.
>>>
>>> * The in-messages of the original exchange and the resource  
>>> exchange are
>>> always identical. The out-message of the resource exchange will  
>>> contain the
>>> result from 'direct:enrichMovie'.
>>> * What message exchange pattern do you use when you test (print the
>>> contents of) the 'direct:enrichMovie' route?
>>> * Is the CinemaQueryAssembler thread-safe? You're doing parallel  
>>> processing
>>> of split messages.
>>>
>>> Martin
>>>
>>> Peter Maas schrieb:
>>>
>>>  Hi list,
>>>>
>>>> I'm developing a proof-of-concept application using Camel 2.0.  
>>>> Everything
>>>> seems to work just find... except for the content-enricher. Both  
>>>> the
>>>> resource exchange passed to my AggregationStrategy look  
>>>> identical. Whilst if
>>>> I print the contents of the resource route I the the correct xml  
>>>> in the
>>>> exchange after calling the http service. My routes look like this:
>>>>
>>>>        // split messages when received from the incoming mq
>>>>        // enrich if move. Always stor in database
>>>>        from("activemq:topic:incomingVPROGuide")
>>>>            .split(vpro.xpath("// 
>>>> vpro:program")).parallelProcessing(true)
>>>>            .choice()
>>>>                .when(vpro.xpath("/vpro:program[@isMovie =  
>>>> 'true']"))
>>>>                .enrich("direct:enrichMovie", new ProgramMerger())
>>>>                    .to("direct:save")
>>>>                .otherwise().to("direct:save");
>>>>            // the generic save route
>>>>        from("direct:save")
>>>>            .setHeader("xmldb.resource.name",
>>>> vpro.xpath("//vpro:program/@id", String.class))
>>>>            .process(sanitize("xmldb.resource.name"))
>>>>            .to("xmldb:/programs");
>>>>              // route to retrieve data from external
>>>>        // rest service
>>>>        from("direct:enrichMovie")
>>>>            .setHeader("title",
>>>> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>>>>            .setHeader("director", vpro.xpath("//vpro:person[@urn =
>>>> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and 1]/vpro:familyName/ 
>>>> text()",
>>>> String.class))
>>>>            .setHeader("year", vpro.xpath("//vpro:year[1]/text()",
>>>> String.class))
>>>>            .process(new CinemaQueryAssembler())
>>>>            .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml 
>>>> ");
>>>>
>>>> The xmldb producer is a patched version of the camel-extra project.
>>>> Everything works fine, apart from the enricher...
>>>>
>>>> Any hints?
>>>>
>>>> kind regards,
>>>>
>>>> Peter Maas
>>>>
>>>
>>>
>>
>
>
>
> -- 
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/


Re: content-enrich

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Mar 3, 2009 at 7:56 AM, Peter Maas <pf...@gmail.com> wrote:
> I think you've solved my problem. I was looking at the 'in' message of the
> resource exchange, whereas I should be looking at the 'out' message. And,
> btw, yes the CinemaQueryAssembler is thread-safe, I actually think all code
> should be threadsafe ;)
Yeah if we could just got some basic annotations in the JDK, eg
@ThreadSafe then you could document it like that :)

Maybe we need to improve the wiki for using the enricher to state you
should check the OUT for the response.
http://camel.apache.org/content-enricher.html

>
> On Tue, Mar 3, 2009 at 7:02 AM, Martin Krasser <de...@martin-krasser.de>wrote:
>
>> Hi Peter,
>>
>> the route looks good to me.
>>
>> * The in-messages of the original exchange and the resource exchange are
>> always identical. The out-message of the resource exchange will contain the
>> result from 'direct:enrichMovie'.
>> * What message exchange pattern do you use when you test (print the
>> contents of) the 'direct:enrichMovie' route?
>> * Is the CinemaQueryAssembler thread-safe? You're doing parallel processing
>> of split messages.
>>
>> Martin
>>
>> Peter Maas schrieb:
>>
>>  Hi list,
>>>
>>> I'm developing a proof-of-concept application using Camel 2.0. Everything
>>> seems to work just find... except for the content-enricher. Both the
>>> resource exchange passed to my AggregationStrategy look identical. Whilst if
>>> I print the contents of the resource route I the the correct xml in the
>>> exchange after calling the http service. My routes look like this:
>>>
>>>        // split messages when received from the incoming mq
>>>        // enrich if move. Always stor in database
>>>        from("activemq:topic:incomingVPROGuide")
>>>            .split(vpro.xpath("//vpro:program")).parallelProcessing(true)
>>>            .choice()
>>>                .when(vpro.xpath("/vpro:program[@isMovie = 'true']"))
>>>                .enrich("direct:enrichMovie", new ProgramMerger())
>>>                    .to("direct:save")
>>>                .otherwise().to("direct:save");
>>>            // the generic save route
>>>        from("direct:save")
>>>            .setHeader("xmldb.resource.name",
>>> vpro.xpath("//vpro:program/@id", String.class))
>>>            .process(sanitize("xmldb.resource.name"))
>>>            .to("xmldb:/programs");
>>>              // route to retrieve data from external
>>>        // rest service
>>>        from("direct:enrichMovie")
>>>            .setHeader("title",
>>> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>>>            .setHeader("director", vpro.xpath("//vpro:person[@urn =
>>> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and 1]/vpro:familyName/text()",
>>> String.class))
>>>            .setHeader("year", vpro.xpath("//vpro:year[1]/text()",
>>> String.class))
>>>            .process(new CinemaQueryAssembler())
>>>            .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");
>>>
>>> The xmldb producer is a patched version of the camel-extra project.
>>> Everything works fine, apart from the enricher...
>>>
>>> Any hints?
>>>
>>> kind regards,
>>>
>>> Peter Maas
>>>
>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Re: content-enrich

Posted by Peter Maas <pf...@gmail.com>.
I think you've solved my problem. I was looking at the 'in' message of the
resource exchange, whereas I should be looking at the 'out' message. And,
btw, yes the CinemaQueryAssembler is thread-safe, I actually think all code
should be threadsafe ;)

On Tue, Mar 3, 2009 at 7:02 AM, Martin Krasser <de...@martin-krasser.de>wrote:

> Hi Peter,
>
> the route looks good to me.
>
> * The in-messages of the original exchange and the resource exchange are
> always identical. The out-message of the resource exchange will contain the
> result from 'direct:enrichMovie'.
> * What message exchange pattern do you use when you test (print the
> contents of) the 'direct:enrichMovie' route?
> * Is the CinemaQueryAssembler thread-safe? You're doing parallel processing
> of split messages.
>
> Martin
>
> Peter Maas schrieb:
>
>  Hi list,
>>
>> I'm developing a proof-of-concept application using Camel 2.0. Everything
>> seems to work just find... except for the content-enricher. Both the
>> resource exchange passed to my AggregationStrategy look identical. Whilst if
>> I print the contents of the resource route I the the correct xml in the
>> exchange after calling the http service. My routes look like this:
>>
>>        // split messages when received from the incoming mq
>>        // enrich if move. Always stor in database
>>        from("activemq:topic:incomingVPROGuide")
>>            .split(vpro.xpath("//vpro:program")).parallelProcessing(true)
>>            .choice()
>>                .when(vpro.xpath("/vpro:program[@isMovie = 'true']"))
>>                .enrich("direct:enrichMovie", new ProgramMerger())
>>                    .to("direct:save")
>>                .otherwise().to("direct:save");
>>            // the generic save route
>>        from("direct:save")
>>            .setHeader("xmldb.resource.name",
>> vpro.xpath("//vpro:program/@id", String.class))
>>            .process(sanitize("xmldb.resource.name"))
>>            .to("xmldb:/programs");
>>              // route to retrieve data from external
>>        // rest service
>>        from("direct:enrichMovie")
>>            .setHeader("title",
>> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>>            .setHeader("director", vpro.xpath("//vpro:person[@urn =
>> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and 1]/vpro:familyName/text()",
>> String.class))
>>            .setHeader("year", vpro.xpath("//vpro:year[1]/text()",
>> String.class))
>>            .process(new CinemaQueryAssembler())
>>            .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");
>>
>> The xmldb producer is a patched version of the camel-extra project.
>> Everything works fine, apart from the enricher...
>>
>> Any hints?
>>
>> kind regards,
>>
>> Peter Maas
>>
>
>

Re: content-enrich

Posted by Martin Krasser <de...@martin-krasser.de>.
Hi Peter,

the route looks good to me.

* The in-messages of the original exchange and the resource exchange are 
always identical. The out-message of the resource exchange will contain 
the result from 'direct:enrichMovie'.
* What message exchange pattern do you use when you test (print the 
contents of) the 'direct:enrichMovie' route?
* Is the CinemaQueryAssembler thread-safe? You're doing parallel 
processing of split messages.

Martin

Peter Maas schrieb:
> Hi list,
>
> I'm developing a proof-of-concept application using Camel 2.0. 
> Everything seems to work just find... except for the content-enricher. 
> Both the resource exchange passed to my AggregationStrategy look 
> identical. Whilst if I print the contents of the resource route I the 
> the correct xml in the exchange after calling the http service. My 
> routes look like this:
>
>         // split messages when received from the incoming mq
>         // enrich if move. Always stor in database
>         from("activemq:topic:incomingVPROGuide")
>             .split(vpro.xpath("//vpro:program")).parallelProcessing(true)
>             .choice()
>                 .when(vpro.xpath("/vpro:program[@isMovie = 'true']"))   
>                     .enrich("direct:enrichMovie", new ProgramMerger())
>                     .to("direct:save")
>                 .otherwise().to("direct:save");
>     
>         // the generic save route
>         from("direct:save")
>             .setHeader("xmldb.resource.name", 
> vpro.xpath("//vpro:program/@id", String.class))
>             .process(sanitize("xmldb.resource.name"))
>             .to("xmldb:/programs");
>        
>         // route to retrieve data from external
>         // rest service
>         from("direct:enrichMovie")
>             .setHeader("title", 
> vpro.xpath("/vpro:program/vpro:title[1]/text()", String.class))
>             .setHeader("director", vpro.xpath("//vpro:person[@urn = 
> 'urn:mpeg:mpeg7:cs:RoleCS:2001:DIRECTOR' and 
> 1]/vpro:familyName/text()", String.class))
>             .setHeader("year", vpro.xpath("//vpro:year[1]/text()", 
> String.class))
>             .process(new CinemaQueryAssembler())
>             .to("http://cinema.test.vpro.nl/api/1/rest/movie/find.xml");
>
> The xmldb producer is a patched version of the camel-extra project. 
> Everything works fine, apart from the enricher...
>
> Any hints?
>
> kind regards,
>
> Peter Maas