I was running into a similar issue de-serializing an xml string 90'000 bytes with axis2c/axiom routines. It happened only because I used the wrong size of buffer pointers. I used a 16 bit sized pointer passing my string over to the axis2c/axiom/libxml2 routine and that made axis2c/axiom/libxml2 routines fail. Changing the pointer size to a 23 bit quantity made the same axis2c/axiom/libxml2 routines work perfectly. It was real my own fault. It happened even we know that we can pass only 65536 bytes with a 16 bit pointer. But once on a day, we got from the client more data and then ... peng ... When I changed to 32 bit pointers and then I was able to de-serialize with the same axis2c/axiom/libxml2 parser routines strings longer the 90'000 bytes.
Also beware that WCF from MS is not made for large data sizes as well. It0's not in the advertising newspaper, but at some etches said when you run into string length and sizing problems. And WCF routines will definitely raise an exception if your server responses with data nearing the 65536 boundary length size. For that to work, MS .NET WCF speaks about using a streaming transfer mode. But I do not know the equivalent or how to do that in axis2c/axiom/libxml2. Maybe someone better known on the capabilities of an axis2c-engines can help to answer if streaming between client and server and client is supported or not. Alternatively .... MTOM .... And do not forget chunk transfer modes. Now please go and check your pointers involved in passing the buffer to your axis2c/axiom/guththila or libxml2 parsers. How are they defined? Josef Von: Nandika Jayawardana [mailto:[email protected]] Gesendet: Dienstag, 1. Februar 2011 09:06 An: Apache AXIS C User List Betreff: Re: AW: Is there a limit to SOAP message in Axis2c ? Namespace is getting over-written You can try out the libxml2 parser as well. If you do not encounter issues, they it has to be a guththila issue. Regards Nandika On Mon, Jan 31, 2011 at 8:55 PM, ramesh Gopal <[email protected]> wrote: Hello, I used the tcpmon to see if there was something going wrong. Looks like for POST if the Content-Length < 49324, things work fine. I tried a sample case when the xml response is more than this limit, I run into a malformed xml. can anybody explain this behaviour ? Rgds, Ramesh. --- On Mon, 31/1/11, ramesh Gopal <[email protected]> wrote: From: ramesh Gopal <[email protected]> Subject: Re: AW: Is there a limit to SOAP message in Axis2c ? Namespace is getting over-written To: "Apache AXIS C User List" <[email protected]> Date: Monday, 31 January, 2011, 2:25 PM Hi, I came across a link which said guththila failed to handle when input is more than 16984 bytes or so. Is it possible that a similar problem may occur when the output is more than a certain limit. When I try and print the response value from the function axis2_svc_skel_invoke method, I see that the node is proper. Is there any other layer where the possibility of data being over-written could happen. What could be the reason that the response is invalid ? Ramesh. --- On Wed, 26/1/11, Stadelmann Josef <[email protected]> wrote: From: Stadelmann Josef <[email protected]> Subject: AW: Is there a limit to SOAP message in Axis2c ? Namespace is getting over-written To: "Apache AXIS C User List" <[email protected]> Date: Wednesday, 26 January, 2011, 2:59 PM And your client is one of .NET WCF or is it Axis2/Java or what is it? Be warned - if you have somewhere C Pointers of 16 bit length you can only handle strings with a maximal length of 65536. This is true independent if your serialized data carries body and/or header and body. (especially on C for OpenVMS) Using 32 bit, but better 64 bit C Pointers lifts this limit. But once you i.e. return long strings back to a ASP.NET or MS WCF Client then the Client will start claiming if you approach the 65536 boundary, that it is unable to handle so much data. In this case you should think about transferring in Junks, either by axis2 or by the underlying transport system, and if this still does not help, think about a streaming transfer mode or MTOM. In heterogeneous environments you will see that i.e. a .NET WCF Client is able to send much longer data sizes then 65536 to its axis2 server, but it is just not able to receive a similar long answer. And yes - it will lead to the described problems. Given your response seen is just one which has the expected end dropped. We are not talking about miss formed xml middle in the string. Josef Von: ramesh Gopal [mailto:[email protected]] Gesendet: Dienstag, 25. Januar 2011 10:15 An: Apache AXIS C User List Betreff: Is there a limit to SOAP message in Axis2c ? Namespace is getting over-written Hello, Is there a maximum limit to SOAP message from Axis2C ? I am returning a response more than 45 K. I see that in my response the opening and closing tags are not the same. <tns:int_arr_retrec1_char_value> =A0=A0=A0 i=3D181 dec=3D182.81 </_in:int_arr_retrec1_char_value> can somebody explain the reason for this strange behaviour ? Even though I pass the namespace as an argument, why should it use some jun= k value ? Ramesh.
