[Mulgara-dev] TransactionalAnswer not closed

Life is hard, and then you die ronald at innovation.ch
Sat Feb 3 23:53:30 UTC 2007


On Fri, Feb 02, 2007 at 05:14:55PM +0100, Paul Gearon wrote:
> On 2/2/07, David Moll <DMoll at viewpointusa.com> wrote:
> >
> >>It just exposes the ItqlInterpreterBean.executeQueryToString() as a
> >>soap service. I.e. all it does call executeQueryToString().
> >
> >That's my understanding of how it works.  We used the Web Services
> >Description Language Tool (Wsdl.exe) to generate a wrapper class that
> >implements the .NET 2.0
> >System.Web.Services.Protocols.SoapHttpClientProtocol class.
> 
> The "Answer" class actually does streaming for you.  It only loads one
> "page" at a time, and while you are iterating through this page, it
> retrieves the next page in a background thread.  Obviously, it blocks on the
> last next() in the page if the next page hasn't arrived yet, but hopefully
> you won't see that!
> 
> I don't know if this can be effectively wrapped in Soap, as I've never tried
> to use it.  But I'm sure an inventive guy like you could come up with
> something.  :-)

Streaming can be done in axis using soap-with-attachements.
Specifically, you'd probably want a new method, executeQueryToStream
or something, which returns a javax.activation.DataHandler which
uses a streaming xml serializer (or even easier, just write the xml
to the stream directly) instead of building up a dom.

One problem is that soap-with-attachements is not widely supported,
and certainly isn't by the .NET stuff.


  Cheers,

  Ronald




More information about the Mulgara-dev mailing list