I think I found the answer, the Provider interface support StreamSource
& SAXSource which should be able to give me a Stream.


Thanks,
Sam

-----Original Message-----
From: Rao, Sameer V 
Sent: Friday, December 12, 2008 9:43 AM
To: [email protected]
Subject: RE: CXF Service using XMLStreamReader as input and output


 Unfortunately,  we are dealing with a larger payload (around 29k xml
file size) so I didnt want to use the Provider interface to get a DOM
node.
With XFire, Aegis databinding provideder supported XMLStreamReader on
POJOs, I thought CXF-Aegis binding would support it too.


Thanks,
Sam

-----Original Message-----
From: Benson Margulies [mailto:[email protected]] 
Sent: Friday, December 12, 2008 7:10 AM
To: [email protected]
Subject: Re: CXF Service using XMLStreamReader as input and output

OK, I see. If you want to interact directly with CXF's reader, you
need to write an interceptor. You can't just write a service like
that, as per Andrew's excellent disquisition.

On Fri, Dec 12, 2008 at 6:14 AM, Andrew Clegg <[email protected]>
wrote:
> Well, you can write services using the Provider interface that
> send/receive SOAPMessage objects.
>
> http://cwiki.apache.org/CXF20DOC/provider-services.html
>
> Then, you could call getSOAPBody() on the soap message to get a
> SOAPBody object, which implements org.w3c.dom.Node:
>
>
http://java.sun.com/webservices/docs/1.5/api/javax/xml/soap/SOAPBody.htm
l
>
> Next you can create a DOMSource from the SOAPBody:
>
>
http://java.sun.com/webservices/docs/1.5/api/javax/xml/transform/dom/DOM
Source.html
>
> Finally you can use an XMLInputFactory to create an XMLStreamReader
> from the DOMSource:
>
>
http://java.sun.com/webservices/docs/1.5/api/javax/xml/stream/XMLInputFa
ctory.html#createXMLStreamReader(javax.xml.transform.Source)
>
> A bit long winded, but as far as I know that's the simplest way to get
> an XMLStreamReader.
>
> Unfortunately, this does mean that the whole message has to get loaded
> into a DOM tree in order to be operated on, rather than just streaming
> the data in from the web server on demand. Shouldn't be a problem for
> small messages but is a shame for large amounts of data.
>
> Does anybody know a way around this, so you can get an XMLStreamReader
> directly without going via DOM?
>
> Andrew.
>
> 2008/12/12 Rao, Sameer V <[email protected]>:
>>
>>
>>  I wanted to expose a class as a service that can has operations
which take in XMLStreamReader. This is more for migrating Xfire
service/classes.
>>
>>  public class AXMLStreamBasedService {
>>
>>      public XMLStreamReader operationOne (XMLStreamReader request) {
>>            //TODO
>>            return null;
>>      }
>>
>>      public XMLStreamReader operationTwo (XmlStreamReader request) {
>>            //TODO
>>            return null;
>>      }
>>
>>
>>
>>  }
>>
>>
>> -----Original Message-----
>> From: Benson Margulies [mailto:[email protected]]
>> Sent: Thu 12/11/2008 7:21 PM
>> To: [email protected]
>> Subject: Re: CXF Service using XMLStreamReader as input and output
>>
>> I don't understand what you are trying to do. An 'exposed' service is
>> exposed via HTTP, or some other network protocol. Can you provide a
>> more detailed view of the gazintas and the gazoutas?
>>
>> On Thu, Dec 11, 2008 at 6:14 PM, Rao, Sameer V <[email protected]>
wrote:
>>>
>>>  Hi,
>>>
>>> I am not able to find documentation/sample that illustrates how to
>>> expose a service (Java First approach) that takes in XMLStreamReader
as
>>> input and return XMLSTreamReader?
>>>
>>> Is there any sample?
>>>
>>>
>>> Thanks,
>>> Sam
>>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: Benson Margulies [mailto:[email protected]]
>> Sent: Thu 12/11/2008 7:21 PM
>> To: [email protected]
>> Subject: Re: CXF Service using XMLStreamReader as input and output
>>
>> I don't understand what you are trying to do. An 'exposed' service is
>> exposed via HTTP, or some other network protocol. Can you provide a
>> more detailed view of the gazintas and the gazoutas?
>>
>> On Thu, Dec 11, 2008 at 6:14 PM, Rao, Sameer V <[email protected]>
wrote:
>>>
>>>  Hi,
>>>
>>> I am not able to find documentation/sample that illustrates how to
>>> expose a service (Java First approach) that takes in XMLStreamReader
as
>>> input and return XMLSTreamReader?
>>>
>>> Is there any sample?
>>>
>>>
>>> Thanks,
>>> Sam
>>>
>>
>>
>

Reply via email to