On Tue, Dec 15, 2009 at 11:26 AM, Kenneth H <phecda...@gmail.com> wrote:
> > 1. Where can I read about the ".namespace()" function syntax? I still > don't > > get why "ins" is used in both functions. I tried w3schools but didn't > find > > it. > >Did you find this page? > >http://www.w3schools.com/XML/xml_namespaces.asp > > > >That should help you understand usage of the namespace prefix and URI.> > > > > I know namespaces in general, bit it was the syntax of the ".namespace()" > function in xpath, I was looking for. > >Ah Cool stuff. The public javadoc may be helpful to you then >http://camel.apache.org/maven/camel->core/apidocs/org/apache/camel/builder/xml/XPathBuilder.html#namespace(java.lang.String,%>20java.lang.String) Perfect. Actually I was looking here earlier, but I must have missed it. > > 2. Is it possible to debug in the Camel routebuilder somehow? If I want > to > > know how the message looks like before and after the > > ".convertBodyTo(DOMSource.class)". And most important: I want to know if > > an > > expression evaluates to true, i.e. I want to "print-out" the result of > the > > when statement. Maybe something like this pseudocode: > > > > var travelRequest = xpath("//ins:TravelInsuranceRequest").namespace > > "ins","http://dzone.com/insurance")) > > > > print(travelRequest); > > > > .when(travelRequest).to(LUXURY_CAR_OUT); > > > > >I guess it depends on how you have this deployed... if its a JUnit test, > >well Eclipse or IntelliJ can easily debug that for you. Other setups may > >require extra configuration of the app server / ESB to get debugging > >working. Actually, if you just want to see what the messages look like at > >various points in your route, try enabling the tracer > >http://camel.apache.org/tracer.html > > > I will look into the tracer - didn't know of that. I have just created a > Maven project and deployed it on the Servicemix ESB. Hard to find out how > to > debug :) > >If you are using the latest ServiceMix, you can follow some notes here to >turn on debugging >https://repository.apache.org/content/groups/public/org/apache/felix/karaf/manual/1.3.0->SNAPSHOT/manual-1.3.0-SNAPSHOT.html#KarafUsers%27Guideinonepage-5.1.Troubleshooting%>2CDebuggingandProfiling This might be very helpful to me! > > One last novice question. In the statement: > > from("seda:a").filter(header("foo").isEqualTo("bar")).to("seda:b"); > > Where does the "foo" comes from, I mean, where do I set it? From Eclipse > I'm > creating a JMS Message, but the only headers availbe is these: > > > http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide95.htm > > Do you know how I can use these headers/properties in a Camel choice > statement? Basicly, I just want to create the most simple example, where > to > messages are send from Eclipse and goes to two different queues in a Camel > choice statement. The messages should be simple tect or objects. > >You should be able to access any of the JMS headers you mentioned in the >same way the "foo" header is referenced. So how are you sending JMS messages >from Eclipse? I'm assuming its a function of Tivoli in the link you >provided? I (or the writer of the document I'm reading) made af "Response" class called "InsuranceResponse". The response class is sent to the Camel Routebuilder. I would like to swith on either the classname of the object I'm sending or a field, e.g. "CompanyName", in the object. I create/send like this: ObjectMessage insuranceMessage = session.createObjectMessage(); InsuranceResponse response = new InsuranceResponse(); response.setRequestID("1"); response.setInsuranceCompanyName("Luxury Cars"); response.setPrice(100f); response.setResponseID(UUID.randomUUID().toString()); insuranceMessage.setObject(response); producer.send(insuranceMessage); Then I receive like this ("responseMessage" returns null all the time, but I guess it's beacuse my Camel Routebuilder isn't wotking, so no object is send to the queue): ObjectMessage responseMessage = (ObjectMessage) consumer.receive(); InsuranceResponse insuranceMessageReceived = (InsuranceResponse) responseMessage.getObject(); >>You can also use Camel to set a header like so >>from("seda:a").setHeader("foo", constant("bar"))... Cool. But what is the corresponding function in Eclipse/JMS to the "setHeader"?! Kind regards Kenneth H -- View this message in context: http://old.nabble.com/Help-to-understand-xpath-expression-in-camel-routebuilder-tp26779963p26798115.html Sent from the Camel - Users mailing list archive at Nabble.com.