axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lerena, Alberto" <Alberto.Ler...@tempos21.es>
Subject RE: SOAP message size limit with Axis
Date Thu, 13 May 2004 08:05:14 GMT
Well, i apologize, my solution didn't work.  I tested it yesterday with a 120.000 items array
and i have the same OutOfMemory Exception, so now i really have a problem with my boss xDDD

In reply to Alexander:

   At first, sorry by my poor English, but I don't have a lot of time for trying to improve
it xD

   Here's an example of the SOAP Request im doing:

POST /mwpost/servicepost
HTTP/1.0 Content-Type: text/xml;
charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.0
Host: 192.168.1.1
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 809

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <ns1:dispatchWithTracking soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://soapinterop.org/">
   <arg0 xsi:type="xsd:string">contract</arg0>
   <arg1 xsi:type="xsd:string">login</arg1>
   <arg2 xsi:type="xsd:string">pwd</arg2>
   <arg3 xsi:type="xsd:string">description</arg3>
   <arg4 xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <item>620186368</item>
    <item>620186369</item>
    <item>620186370</item>
    <item>620186371</item>
    <item>620186372</item>
    <item>620186373</item>
    <item>620186374</item>
   </arg4>
   <arg5 xsi:type="xsd:string">This is a common message</arg5>
  </ns1:dispatchWithTracking>
 </soapenv:Body>
</soapenv:Envelope>


So you can see my array elements are really short, a simply telephone number.  When the request
comes into the Handler (i'm using the axis stable version 1.1), when i try to do an Long length
= message.getContentLength(), my Tomcat3 server prints out a nice OutOfMemoryException, so
i can't discard the long messages.

A working solution is to use a Servlet Filter in tomcat versions upper to 4.1, but i can't
choose those versions to work...

A wrong solution is to improve the tomcat JVM memory, because if a malicious person sends
a a bigger request we will have the same problem.

Another working but not valid solution (my software architecth don't like it) is to modify
myself the axisServlet to reject the HttpServletRequest.

The other things you ask me in your mail, multi-ref and streaming, i dont know what they are,
but i think arent related to my problem :S


So if anybody has an idea of how to arrange it, i will be very thankful :D




-----Mensaje original-----
De: Aleksander Slominski [mailto:aslom@cs.indiana.edu]
Enviado el: miƩrcoles, 12 de mayo de 2004 19:33
Para: axis-user@ws.apache.org
Asunto: Re: SOAP message size limit with Axis


Lerena, Alberto wrote:

>Hi,
>
>I think the problem isn't the size of the soap message, but the number of elements it
has.
>
>I had a problem with messages around 1 MB whose were formed by an Array of strings with
80.000 items, so I had memory DoS problems.
>  
>
Alberto,

could you specify exactly what wwere those strings (average length), did 
you disable multi-ref on client and server side, did you turn streamin 
on on client and server side, dod exception happened on client or server 
side.

>The solution was to implement an Axis Handler to Limit the Request 
>
80000 is not really that big for an array.

thanks,

alek

>-----Mensaje original-----
>De: Jim Murphy [mailto:jmurphy@mindreef.com]
>Enviado el: martes, 11 de mayo de 2004 21:48
>Para: axis-user@ws.apache.org
>Asunto: Re: SOAP message size limit with Axis
>
>
>Thats a pretty large SOAP message - I hope you have lots of RAM in the 
>server machine.
>
>I should say its a large message to parse into a DOM - not much is too 
>large if you can stream parse it in one pass.
>
>Jim Murphy
>Mindreef, Inc.
>
>
>Miller, Janet wrote:
>  
>
>>I will be getting one message of that size every minute.
>>
>>I am new to Web Services, so it will take awhile before I can try it.
>>Also, the Web Service is not available yet.
>>
>>-----Original Message-----
>>From: Nelson Minar [mailto:nelson@monkey.org] 
>>Sent: Tuesday, May 11, 2004 3:25 PM
>>To: axis-user@ws.apache.org
>>Cc: Miller, Janet
>>Subject: Re: SOAP message size limit with Axis
>>
>>
>>
>>    
>>
>>>I will be accessing a Web Service written using Axis. The messages will
>>>      
>>>
>>    
>>
>>>be about 3.2MB or less in size. I'm wondering if I will have 
>>>performance issues parsing a message of this size.
>>>      
>>>
>>I suggest you just try it and report back! I think it should work OK,
>>but the details depend a lot on what's in the messages and how many of
>>them you're getting at once.
>>
>>    
>>
>
>
>---------------------------------------------------------------------------
>Este mensaje se dirige exclusivamente a su destinatario y puede contener
>informacion privilegiada o confidencial. Si no es vd. el destinatario 
>indicado, queda notificado de que la utilizacion, divulgacion y/o copia sin 
>autorizacion esta prohibida en virtud de la legislacion vigente. Si ha
>recibido este mensaje por error, le rogamos que nos lo comunique. 
> 
>This message is intended exclusively for its addressee and may contain 
>information that is CONFIDENTIAL and protected by professional privilege.
>If you are not the intended recipient you are hereby notified that any
>dissemination, copy or disclosure of this communication is strictly
>prohibited by law. If this message has been received in error, please
>immediately notify us via e-mail and delete it. 
>---------------------------------------------------------------------------
>
>  
>


-- 
The best way to predict the future is to invent it - Alan Kay



---------------------------------------------------------------------------
Este mensaje se dirige exclusivamente a su destinatario y puede contener
informacion privilegiada o confidencial. Si no es vd. el destinatario 
indicado, queda notificado de que la utilizacion, divulgacion y/o copia sin 
autorizacion esta prohibida en virtud de la legislacion vigente. Si ha
recibido este mensaje por error, le rogamos que nos lo comunique. 
 
This message is intended exclusively for its addressee and may contain 
information that is CONFIDENTIAL and protected by professional privilege.
If you are not the intended recipient you are hereby notified that any
dissemination, copy or disclosure of this communication is strictly
prohibited by law. If this message has been received in error, please
immediately notify us via e-mail and delete it. 
---------------------------------------------------------------------------

Mime
View raw message