axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stadelmann Josef" <josef.stadelm...@axa-winterthur.ch>
Subject AW: AW: Is there a limit to SOAP message in Axis2c ? Namespace is getting over-written
Date Tue, 01 Feb 2011 09:53:17 GMT
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:jayawark@gmail.com] 
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 <fatuzorin2001@yahoo.com>
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 <fatuzorin2001@yahoo.com> wrote:


From: ramesh Gopal <fatuzorin2001@yahoo.com>
Subject: Re: AW: Is there a limit to SOAP message in Axis2c ? Namespace
is getting over-written


To: "Apache AXIS C User List" <c-user@axis.apache.org>

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
<josef.stadelmann@axa-winterthur.ch> wrote:


From: Stadelmann Josef <josef.stadelmann@axa-winterthur.ch>
Subject: AW: Is there a limit to SOAP message in Axis2c ? Namespace is
getting over-written
To: "Apache AXIS C User List" <c-user@axis.apache.org>
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:fatuzorin2001@yahoo.com] 
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.

 

 

 


Mime
View raw message