What would you like to do if the file size bigger than Mbytes, tens of MBytes or bigger?
Steven Zhang wrote: > I faced the same issue last week. The problem is my Axis2c client cannot > receive response > 400K. When I run Axis2c client with Axis2c web > service there is no problem, but my customer's web service is made by > .Net, whose response structure is different from mine. > > The reason is found by debugging into Axis2c sources. The problem is in > guththila_xml_parser.c (Guththila.dll). > > Suppose maximum size of each socket packet is 16K, to receive a 400K > data it needs to receive 25 packets. For each packet Guththila.dll will > allocate a memory with doubled size. At the 15th time, the packet size > increased 2 ^ 15 = 32768 times, the new memory size will be 16K * 32768 > = 524M, allocation failed here. When the problem happen, I do find the > program eats up to 1G memory. > > To resolve it, increase new memory size only when data_size * 2 > > buffer_size, so the new memory will keep less than 1 to 2 M. I tested it > with 400K and 800K response, it all worked. It even works with 2M > response. The modified file is attached. > > For Axis2c web service, the response is in XML format. Whenever > guththila_xml_parser.c find a '<' sign, it will create a new node for > the element. But for .Net web service, the response is a single string, > all '<' signs are replaced with "<". The function has to allocate new > memory to hold all 400K or more data. This is the reason why the > problem occurs to .Net web service only. > > Hope it's useful to you. > > Steven Zhang > > > ----- Original Message ----- > *From:* Doug Price <mailto:[email protected]> > *To:* [email protected] <mailto:[email protected]> > *Sent:* Friday, August 13, 2010 10:40 AM > *Subject:* soap message limits > > I’m using Axis2c to send base 64 binary encoded data via SOAP and > this works fine as long as my data is small enough. For example, it > works on a 6KB file, but when I try to use this for a 183KB file it > fails. Is there an internal limit in Axis2c for SOAP messages or > base 64 binary data? If so, are there any values I can change in > the source to increase these limits? > > > > -- > *Doug Price* > Research Director | *Presagis* > > *T.* +1 972 943.2400 X2433 *F.* +1 469 467.4564 *C.* +1 469 867.8399 > > > DISCLAIMER: This e-mail message is for the sole use of the intended > recipient(s) and may contain confidential and/or proprietary > information. Do not read, copy, or disseminate this message unless > you are the addressee. Any unauthorized review, use, disclosure or > distribution is strictly prohibited. If you have received this > message in error, please contact the sender by reply e-mail and > delete the original and any copies from your system. > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
