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.

Reply via email to