https://issues.apache.org/activemq/browse/CAMEL-1476
On Sun, Mar 22, 2009 at 10:29 AM, William Tam <[email protected]> wrote: > Hi, > > I think the DATA_FORMAT property in the exchange was not intended to > be used outside CXF component before. In 1.x, the DATA_FORMAT was > only set by the CXF producer and not by the consumer. So, if we are > going to make it "public", we should set it in both side to be useful. > I agree that 2.x should use DATA_FORMAT in CxfConstants rather than > DataFormat.class.getName(). I'll fire a Jira. > > Cheers, > William > > On Sun, Mar 22, 2009 at 3:42 AM, Claus Ibsen <[email protected]> wrote: >> Hi >> >> Can we get a CfxConstants class/interface containing all the keys end >> users need to know about using camel-cxf? >> >> And org.apache.camel.component.cxf.DataFormat.class.getName() isn't the same >> as >> "org.apache.camel.component.cxf.DataFormat" ? >> >> And is there a compelling reason why this key hasn't been migrated to >> the new short form Camel 2.0 syntax? >> >> >> On Sun, Mar 22, 2009 at 5:49 AM, Willem Jiang <[email protected]> wrote: >>> Hi Michael, >>> >>> You can get the dataFromat info by checking the exchange's property. >>> Camel 2.0 >>> exchange.getProperty(org.apache.camel.component.cxf.DataFormat.class.getName()); >>> >>> For Camel 1.x, you may try to use this >>> exchange.getProperty(org.apache.camel.component.cxf.CxfExchange.DATA_FORMAT); >>> >>> Willem >>> >>> Michael Ramnarine wrote: >>>> Thanks Willem, >>>> >>>> We were looking to write a custom processor that doesn't know ahead of >>>> time which dataFormat the client will be using to access the endpoint. >>>> >>>> Is there anything on the camel exchange or camel message or cxf message >>>> that we can check to at least tell which dataFormat is coming into the >>>> custom processor? I suppose we could check the class type of the >>>> exchange.getIn().getBody(), but can you think of a better way? >>>> >>>> -Mike >>>> >>>> -----Original Message----- >>>> From: Willem Jiang [mailto:[email protected]] >>>> Sent: Friday, March 20, 2009 3:21 AM >>>> To: [email protected] >>>> Subject: Re: Questions about camel Exchange that contains a CxfMessage >>>> with POJO dataFormat >>>> >>>> Hi Michael, >>>> >>>> Since CXF using Stax to handle the XML message , it does not cache the >>>> whole xml message when it do the marshaling work. >>>> >>>> For the POJO Dataformate, you can't get the xml message from the >>>> CXFMessage instace, since the inputstream is consumed by the >>>> XMLStreamReader. >>>> >>>> Can I know the reason why are you want to get the xml message even you >>>> have the list of the request parameters ? >>>> >>>> Willem >>>> >>>> Michael Ramnarine wrote: >>>>> One thing I just noticed... >>>>> Using getContentFormats() on a POJO CxfMessage for a soap over http >>>> endpoint via: >>>>> CxfMessage message = (CxfMessage) exchange.getIn() >>>>> message.getMessage().getContentFormats() >>>>> >>>>> Returns: >>>>> [interface java.util.List, class java.io.InputStream, interface >>>> javax.xml.stream.XMLStreamReader, interface org.w3c.dom.Node] >>>>> Will one of these have the original xml message? >>>>> How do I use these content formats to get that message in w3c format? >>>> >>>>> -Mike >>>>> >>>>> ________________________________________ >>>>> From: Michael Ramnarine >>>>> Sent: Thursday, March 19, 2009 10:46 PM >>>>> To: '[email protected]' >>>>> Subject: Questions about camel Exchange that contains a CxfMessage >>>> with POJO dataFormat >>>>> Is the original xml message available given a camel Exchange for a >>>> soap message that contains a CxfMessage with POJO dataFormat? >>>>> Specifically, working in a custom processor, if the inbound message is >>>> a CxfMessage with MESSAGE dataFormat, the body is a copy of the original >>>> raw message (accessible via exchange.getIn().getBody()). However, if >>>> the inbound message is POJO dataFormat, then getBody() only returns a >>>> list containing the Java parameters for the operation being invoked. Is >>>> there anyway to get at the raw xml message when the inbound message is >>>> in POJO dataFormat? >>>>> Also, is there a way to determine the dataFormat (MESSAGE, PAYLOAD, or >>>> POJO) from the camel Exchange or CxfMessage? >>>>> -Mike >>>>> >>>>> >>>> >>>> >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> >
