There have been quite a few problems reported relating to large messages. The reply I give below is just quoting myself from:
<http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]&msgId=653050>
NB since that thread I've found out that there's no reason JAXRPC can't use XMLPULL, this is a restriction of the Axis serialization architecture. There are also a couple of related bugs in bugzilla:
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17282>
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11532>


================
Several other people have reported this problem.

See this thread:
<http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]&msgNo=7998>

This one is also relevant:
<http://marc.theaimsgroup.com/?l=axis-user&m=103825449231468&w=2>

"...trash generated on the client side is about 18MB for each
round trip of my 320KB message"

A year or so ago we ran into a problem like this, but it wasn't with
Axis - it was Xerces. A change of parser massively reduced the number of
objects being created and destroyed, and greatly improved performance
(this parser wouldn't do you any good, we wrote it to specifically solve
this problem and had complete control over the XML being parsed). You
might want to try Axis with a different parser.

The other thing people have mentioned as being a cause of the problem is
that its inherent in JAX-RPC being based on SAX, so it can't take
advantage of pull parsing:
<http://marc.theaimsgroup.com/?l=axis-user&m=104429792424850&w=2>

This being the case, you might want to look at other solutions, like
using Soap With Attachments to send your large xml file outside of the
SOAP body.

-Baz


[EMAIL PROTECTED] wrote:
> Hi,
>
> Does anybody know if there is a limitation on the messages size (an XML
> file as payload) that are sent from AXIS client to AXIS server ?
>
> By the way, I already encountered java.lang.OutOfMemoryError when my axis
> client is trying to send an XML file (4 megabytes) to AXIS server. It
> happened at client side. Don't know if the client manages to send over, the
> server can handle it or not ?
>
> Any ideas or suggestions ?
>
> note : I already set the JVM heap size to 256m
>
> Thank you.
>



Stephane Lecercle wrote:
Hi,
I am using Axis 1.1, and I have noticed on a stress test that there is an issue when I am trying to send and retrieve from a Java client big binary data, if this data is a member of a structure.
Indeed, if I am using a method of this kind :
*byte[] exchangeData (byte[] buffer);*
the performances are very good.
But if I am using a method such as :
*ReturnValue exchangeData2 (byte[] buffer);*
with ReturnValue as :
*class ReturnValue {*
* public byte[] bufferOut;*
* public int status;*
*}*
The performance is awful, as soon as the bufferOut member size is up to around 2000 octets.
Has someone noticed the same problem ? Is there anything to tune (such as the serializer/deserializer) on Axis ?
Many thanks,
Stephane LECERCLE.



Reply via email to