Just wanted to say thanks to Glen for pointing me in the direction of the Provider class, I got it working without too much trouble. I don't think I'd have found it without help though.
For the good of future searchers, these pages were really useful, once I knew what I was looking for: http://cwiki.apache.org/CXF20DOC/provider-services.html http://i-proving.ca/space/Technologies/Apache+CXF/Provider+Services+and+WS-Security And it took me a while to figure out that if you're providing just the payload, you have to qualify it like this: <myns:MyResponseElement xmlns:myns="http://my.uri.goes.here/"> ... </myns:MyResponseElement> ... because the automatically-generated envelope won't have a reference to myns. Cheers, Andrew. 2008/9/23 Andrew Clegg <[EMAIL PROTECTED]>: > Thanks, I've built the cxf sample that uses jax-ws providers, will post > again if I get stuck. > > Andrew. > > > On 23 Sep 2008, at 16:56, Glen Mazza <[EMAIL PROTECTED]> wrote: > >> >> I would look at the JAX-WS Provider interface for what you would like to >> do--that will allow you to work with XML directly. >> >> Glen >> >> >> Andrew Clegg wrote: >>> >>> Hi folks, >>> >>> I have a web service that pulls large result sets from a database -- >>> of the order of 10,000-100,000 rows per query, from an 80M row table. >>> >>> Each record is two short strings and two doubles. >>> >>> The query itself runs in about 3-5s, and my initial approach has a >>> data access object which iterates through the result set and produces >>> a simple Java object for each record on request. My service, which I >>> haven't finished yet, was going to invoke this DAO and build a list of >>> the corresponding JAXB objects to be passed back to the client. Nice >>> clean separation, with the database-specific DAO not depending on the >>> web service or its databindings. >>> >>> However, for my test query (returning 85,000 rows) it takes around 10 >>> seconds total to iteratively produce a POJO for each one in the DAO, >>> and to this I'll need to add a similar amount of time to create the >>> list of equivalent JAXB objects, plus the additional overhead of >>> serializing them. >>> >>> So I'm thinking -- why not 'cheat' and have the database stored >>> procedure return appropriately formatted XML which can just be >>> inserted into a response message? >>> >>> I'm not sure how you would go about doing this in CXF -- would this be >>> a job for a custom interceptor in the outgoing chain? If anyone can >>> point me in the direction of an example which would give me a starting >>> point, I'd be very grateful. >>> >>> Many thanks! >>> >>> Andrew. >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Manually-generating-XML-for-response-tp19629268p19630883.html >> Sent from the cxf-user mailing list archive at Nabble.com. >> >
