Hi

I have implemented this in Camel 2.3 so it can do your example out of the box.


On Thu, Apr 22, 2010 at 12:10 PM, Claus Ibsen <[email protected]> wrote:
> On Thu, Apr 22, 2010 at 12:00 PM, mitul1411 <[email protected]> wrote:
>>
>> I used file  output for testing the values.
>> My requirement is that I have to send the values from the nodes to the CXF
>> endpoint.
>> Adding a bean would mean an overhead to the route.
>> I need your suggestions on it.
>>
>
> There is not much overhead in a bean / processor than the convertBodyTo
> You gotta do the same, convert the XPath result to something that can
> be streamed to a file.
>
> I have created a ticket to create type converters out of the box in Camel
> https://issues.apache.org/activemq/browse/CAMEL-2669
>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Hi
>>>
>>> You can convert that yourself in a processor / bean
>>>
>>> // use iterator to walk the XML
>>> Iterator it = exchange.getIn().getBody(Iterator.class);
>>> while (it.hasNext()) {
>>>    Object value = it.next();
>>>    String s =
>>> exchange.getContext().getTypeConverter().convertTo(String.class,
>>> value);
>>>    // now add the str to something
>>> }
>>>
>>> // and replace the body
>>> exchange.getIn().setBody(myStringWithXml);
>>>
>>>
>>> But we should maybe add some default type converter to Camel that can
>>> work with the XPath types
>>>
>>>
>>> On Thu, Apr 22, 2010 at 11:13 AM, mitul1411 <[email protected]> wrote:
>>>>
>>>> When I do not provide any resultType (i.e. using the default one) , I get
>>>> the
>>>> following error.
>>>>
>>>> No type converter available to convert from type:
>>>> com.sun.org.apache.xerces.internal.dom.DeferredElementNSImpl to the
>>>> required
>>>> type: java.io.InputStream with value [cone: null]
>>>>
>>>> The above statement is one of the excerpts from the whole stack trace.
>>>>
>>>>
>>>>
>>>> Claus Ibsen-2 wrote:
>>>>>
>>>>> Do not use resultType="java.lang.String"
>>>>>
>>>>> By default it uses some XPath standard type (NODESET) which is defined
>>>>> in
>>>>> javax.xml.xpath.XPathConstants
>>>>>
>>>>> The NODESET should be able to contain multiple nodes in the result.
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Apr 22, 2010 at 10:56 AM, mitul1411 <[email protected]>
>>>>> wrote:
>>>>>>
>>>>>> Hello everyone,
>>>>>> I am not an advanced user of Camel.
>>>>>> When I use XPath Splitter , I get only one record in the result. How do
>>>>>> I
>>>>>> get multiple records ?
>>>>>>
>>>>>> For example :
>>>>>> My XML file is
>>>>>>
>>>>>>
>>>>>>  <cone>abc</cone>
>>>>>>  <ctwo>xyz</ctwo>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  <cone>abc123</cone>
>>>>>>  <ctwo>xyz123</ctwo>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  <cone>abcqqq</cone>
>>>>>>  <ctwo>xyzqqq</ctwo>
>>>>>>
>>>>>>
>>>>>> </c>
>>>>>>
>>>>>> I use the following configuration in the xml file :
>>>>>>
>>>>>> <camelContext xmlns="http://camel.apache.org/schema/spring";
>>>>>> id="xpathrouter">
>>>>>>        <route>
>>>>>>                <from uri="activemq:queue:myqueue" />
>>>>>>                <split>
>>>>>>                        <xpath
>>>>>>  resultType="java.lang.String">/a/b/cone</xpath>
>>>>>>                        <to uri="file:/abc/messages/test" />
>>>>>>                </split>
>>>>>>        </route>
>>>>>> </camelContext>
>>>>>>
>>>>>> The result I get is : abc
>>>>>>
>>>>>> I also want abc123 and abcqqq in the result.
>>>>>>
>>>>>> Can anyone help me out ?
>>>>>>
>>>>>> Thank You.
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://old.nabble.com/XPath-Spliiter-Problem-tp28325959p28325959.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/XPath-Spliiter-Problem-tp28325959p28326122.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context: 
>> http://old.nabble.com/XPath-Spliiter-Problem-tp28325959p28326725.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to