Hi You are using a bean as recipient list, right? > <bean ref="CollegeRecipientList" method="route" />
There was a bug in Camel which is fixed in 2.1 and 1.6.2 that caused it to return the endpoints instead of the data. Instead of @RecipeinetList use a <recipientList> instead. On Mon, Nov 30, 2009 at 11:01 AM, lekkie <[email protected]> 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? > -- > View this message in context: > http://old.nabble.com/Transforming-Decoding-Data-en-route-tp26572002p26572002.html > Sent from the ServiceMix - User 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
