You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by lekkie <le...@gmail.com> on 2009/11/30 11:01:21 UTC
Transforming/Decoding Data en-route
Hi People,
I have this service engine exposed as a jaxws because I needed to give it an
nmr address.
Below is the SE impl fxn:
public PaymentResponse notifyPayment(PaymentRequest payload)
{
PaymentResponse response = new PaymentResponse();
LOG.info("Notification received for student " +
payload.getStudentNumber());
LOG.info("Receipt Number: " + payload.getPINReceiptNumber());
LOG.info("Student Name: " + payload.getStudentName());
LOG.info("Amount: " + payload.getAmountPaid());
LOG.info("College Name: " + payload.getCollegeName());
LOG.info("Bank: " + payload.getBankName());
LOG.info("Reference Number: " + payload.getPaymentReferenceNumber());
response.setReturn("OK");
return response;
}
and here is my bean.xml file:
<jaxws:endpoint id="CollegeServices"
implementor="com..services.CollegeServicesImpl"
address="nmr:nauCollegeService"/>
I also have another endpoints that retrieve messages from a queue and
forwards to this nmr:nauCollegeService address, see camel-context.xml below:
<osgi:camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="jms:queue:CollegeRequestQueue?replyTo=CollegeResponseQueue" />
<convertBodyTo type="javax.xml.transform.stream.StreamSource" />
<to uri="log:jmsRequestMessagesLog" />
<bean ref="CollegeRecipientList" method="route" />
<to uri="log:jmsResponseMessagesLog" />
</route>
</osgi:camelContext>
This is what my log looks like when I send a message into the queue:
10:53:08,651 | INFO | tenerContainer-1 | jmsRequestMessagesLog |
rg.apache.camel.processor.Logger 88 |
Exchange[BodyType:org.apache.camel.converter.jaxp.StringSource, Body:<?xml
version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ser:PaymentRequest xmlns:ser="http://services.colleges.com">
<StudentNumber>91283123</StudentNumber>
</ser:PaymentRequest>
</soap:Body>
</soap:Envelope>]
10:53:08,667 | INFO | tenerContainer-1 | jmsResponseMessagesLog |
rg.apache.camel.processor.Logger 88 | Exchange[BodyType:String[],
Body:[Ljava.lang.String;@fe09a1]
And whenever I tried to retrieve this message from my JMS response queue i
couldnt cast as any of Text, Stream, byte, or Map?
if (aMessage instanceof javax.jms.TextMessage)
{}
if (aMessage instanceof javax.jms.StreamMessage)
{}
if (aMessage instanceof javax.jms.BytesMessage)
{}
How do I get the OK response returned?
--
View this message in context: http://old.nabble.com/Transforming-Decoding-Data-en-route-tp26572003p26572003.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Transforming/Decoding Data en-route
Posted by Ashwin Karpe <as...@progress.com>.
Hi,
Have you tried
<osgi:camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="jms:queue:CollegeRequestQueue" />
<convertBodyTo
type="javax.xml.transform.stream.StreamSource" />
<to uri="log:jmsRequestMessagesLog" />
<bean ref="CollegeRecipientList" method="route" />
<to uri="jms:queue:CollegeResponseQueue"/>
<to uri="log:jmsResponseMessagesLog" />
</route>
</osgi:camelContext>
Cheers,
Ashwin...
lekkie wrote:
>
> Hi People,
>
> I have this service engine exposed as a jaxws because I needed to give it
> an nmr address.
>
> Below is the SE impl fxn:
> public PaymentResponse notifyPayment(PaymentRequest payload)
> {
> PaymentResponse response = new PaymentResponse();
>
> LOG.info("Notification received for student " +
> payload.getStudentNumber());
> LOG.info("Receipt Number: " + payload.getPINReceiptNumber());
> LOG.info("Student Name: " + payload.getStudentName());
> LOG.info("Amount: " + payload.getAmountPaid());
> LOG.info("College Name: " + payload.getCollegeName());
> LOG.info("Bank: " + payload.getBankName());
> LOG.info("Reference Number: " + payload.getPaymentReferenceNumber());
>
> response.setReturn("OK");
>
> return response;
> }
>
> and here is my bean.xml file:
> <jaxws:endpoint id="CollegeServices"
> implementor="com..services.CollegeServicesImpl"
> address="nmr:nauCollegeService"/>
>
>
> I also have another endpoints that retrieve messages from a queue and
> forwards to this nmr:nauCollegeService address, see camel-context.xml
> below:
>
> <osgi:camelContext xmlns="http://camel.apache.org/schema/spring">
> <route>
> <from uri="jms:queue:CollegeRequestQueue?replyTo=CollegeResponseQueue"
> />
> <convertBodyTo type="javax.xml.transform.stream.StreamSource" />
> <to uri="log:jmsRequestMessagesLog" />
> <bean ref="CollegeRecipientList" method="route" />
> <to uri="log:jmsResponseMessagesLog" />
> </route>
> </osgi:camelContext>
>
> This is what my log looks like when I send a message into the queue:
> 10:53:08,651 | INFO | tenerContainer-1 | jmsRequestMessagesLog
> | rg.apache.camel.processor.Logger 88 |
> Exchange[BodyType:org.apache.camel.converter.jaxp.StringSource, Body:<?xml
> version="1.0" encoding="UTF-8"?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ser:PaymentRequest xmlns:ser="http://services.colleges.com">
> <StudentNumber>91283123</StudentNumber>
> </ser:PaymentRequest>
> </soap:Body>
> </soap:Envelope>]
>
> 10:53:08,667 | INFO | tenerContainer-1 | jmsResponseMessagesLog
> | rg.apache.camel.processor.Logger 88 | Exchange[BodyType:String[],
> Body:[Ljava.lang.String;@fe09a1]
>
> And whenever I tried to retrieve this message from my JMS response queue i
> couldnt cast as any of Text, Stream, byte, or Map?
>
> if (aMessage instanceof javax.jms.TextMessage)
> {}
> if (aMessage instanceof javax.jms.StreamMessage)
> {}
> if (aMessage instanceof javax.jms.BytesMessage)
> {}
>
> How do I get the OK response returned?
>
-----
---
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
---
+1-972-304-9084 (Office)
+1-972-971-1700 (Mobile)
----
Blog: http://opensourceknowledge.blogspot.com/
--
View this message in context: http://old.nabble.com/Transforming-Decoding-Data-en-route-tp26572003p26578687.html
Sent from the Camel - Users mailing list archive at Nabble.com.