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
