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/

Reply via email to