[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> </DIV>
<DIV><FONT face=3DArial size=3D2>We found a problem while using =
M2crypto 0.06=20
work with Zope-2.4.2.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>We're calling a 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> </DIV>
<DIV><FONT face=3DArial size=3D2>Below is the printout 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> 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> </DIV>
<DIV> </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> </DIV>
<DIV>for i in range(3910,4000,1):<BR> stringXml =3D=20
"X"*i<BR> print i<BR> rs =3D=20
x.recepcaoActualizacao(stringXml)</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>Everything works fine by HTTP (not secure) even for 200Kb =
strings.</DIV>
<DIV> </DIV>
<DIV>Can you help?</DIV>
<DIV> </DIV>
<DIV>Thanks in advance,</DIV>
<DIV>S=F3nia</DIV>
<DIV> </DIV></FONT></DIV></BODY></HTML>
--------------Boundary-00=_G69MD3O3547ZV7KUKC4V--