>How large of a SOAP message can you send before it doesn't make sense to
>send the data in a SOAP message?

I'd like to ask a related question: how big a request or response can
Axis efficiently handle? We had some discussion a week ago about this
and some concern was expressed that Axis was buffering a lot in memory.

I did some quick experiments with an rpc/encoded SOAP call that
returned an array of objects. Each object has a smattering of data: a
string, a few numbers. What I found was that Axis could handle 10,000
objects in the response reasonably but not 100,000 objects. The client
was the bottleneck. I also saw evidence of some O(n^2) scaling in the
size of the array.

Each element in my test array has 40 bytes of real data in ASCII. The
XML encoding ballooned it out to 500 bytes. So 100,000 elements is 50
megs of message. It took the client over 15 minutes to parse this!

Things get a whole lot better if you turn off multi-ref and typing in
the response message:
  <parameter name="sendMultiRefs" value="false"/> 
  <parameter name="sendXsiTypes" value="false"/>
My test went from over 15 minutes to parse the response to under a minute.


So that's my understanding of Axis message size limitations. I'd love
to hear from others about their experiences, particularly when
compared to other SOAP implementations.

Reply via email to