[Zope] XML-RPC over HTTPS size limit

Nuno Maltez nuno@xml.pt
Fri, 30 Nov 2001 13:51:52 +0000


This is a multi-part message in MIME format.

--------------Boundary-00=_G69MD3O3547ZV7KUKC4V
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Hello,

I'm not sure which mailing list this topic is more suitable in, so I'm
sending it to the general list.

We found a problem while using M2crypto 0.06 with Zope-2.4.2.

We're calling a Zope extrenal method on another matchine (same configuration)
through XML-RPC and we noticed that once the content-lenght of the HTTP
request gets larger than 4096 bytes the calling function hangs (Zope hangs; the
server Zope still works fine).

Below is the printout generated by the client Zope:

reply: 'HTTP/1.0 200 OK\r\n'
header: Server: Zope/(Zope 2.4.2 (binary release,
 2.1.0, win32) ZServerSSL/0.06
header: Date: Fri, 30 Nov 2001 13:16:22 GMT
header: Connection: close
header: Content-Type: text/xml
header: Content-Length: 127
3932
send: 'POST /RPC2 HTTP/1.0\r\n'
send: 'Host: 192.168.1.4\r\n'
send: 'User-Agent: xmlrpc_ssl.py/0.06 - xmlrpclib.
m)\r\n'
send: 'Content-Type: text/xml\r\n'
send: 'Content-Length: 4097\r\n'
send: 'Authorization: Basic c29uaWE6c29uaWE=\r\n' 

The function's only argument is a string and we tested it by
calling the method in a for loop until it hung:

for i in range(3910,4000,1):
  stringXml = "X"*i
  print i
  rs = x.recepcaoActualizacao(stringXml)


Everything works fine by HTTP (not secure) even for 200Kb strings.

Has anyone faced this problem before? Anyone knows of a cure?

Thanks in advance,
Nuno


--------------Boundary-00=_G69MD3O3547ZV7KUKC4V
Content-Type: text/html;
  charset="iso-8859-1";
  name="Anexo: 1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hello,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>We found&nbsp;a problem while using =
M2crypto 0.06=20
work with Zope-2.4.2.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>We're calling a&nbsp;Zope extrenal =
method on=20
another matchine (same configuration)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>through XML-RPC and we noticed that =
once the=20
content-lenght of the HTTP</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>request gets larger than 4096 bytes the =
calling=20
function hangs (Zope hangs; the</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>server Zope still works =
fine).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Below is the printout&nbsp;generated by =
the client=20
Zope:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2><BR>reply: 'HTTP/1.0 200 =
OK\r\n'<BR>header: Server:=20
Zope/(Zope 2.4.2 (binary release,<BR>&nbsp;2.1.0, win32)=20
ZServerSSL/0.06<BR>header: Date: Fri, 30 Nov 2001 13:16:22 =
GMT<BR>header:=20
Connection: close<BR>header: Content-Type: text/xml<BR>header: =
Content-Length:=20
127<BR>3932<BR>send: 'POST /RPC2 HTTP/1.0\r\n'<BR>send: 'Host:=20
192.168.1.4\r\n'<BR>send: 'User-Agent: xmlrpc_ssl.py/0.06 -=20
xmlrpclib.<BR>m)\r\n'<BR>send: 'Content-Type: text/xml\r\n'<BR>send:=20
'Content-Length: 4097\r\n'<BR>send: 'Authorization: Basic=20
c29uaWE6c29uaWE=3D\r\n'</FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The function's only argument is a =
string and we=20
tested it bye</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>calling the method in a for loop until =
it=20
hung:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>
<DIV>&nbsp;</DIV>
<DIV>for i in range(3910,4000,1):<BR>&nbsp;&nbsp;stringXml =3D=20
"X"*i<BR>&nbsp;&nbsp;print i<BR>&nbsp;&nbsp;rs =3D=20
x.recepcaoActualizacao(stringXml)</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Everything works fine by HTTP (not secure) even for 200Kb =
strings.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Can you help?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks in advance,</DIV>
<DIV>S=F3nia</DIV>
<DIV>&nbsp;</DIV></FONT></DIV></BODY></HTML>

--------------Boundary-00=_G69MD3O3547ZV7KUKC4V--