ID: 43991 Comment by: zkroecher at gingco dot net Reported By: s dot slater at cabletime dot com Status: Open Bug Type: SOAP related Operating System: Windows Vista + IIS7.0 PHP Version: 5.2.5 New Comment:
We have the same problem on Windows 2008 Server with IIS7, using php5ispai.dll. No solution yet? Previous Comments: ------------------------------------------------------------------------ [2008-01-31 12:13:12] s dot slater at cabletime dot com Description: ------------ PHP SOAP seems to return an incorrect Content-Length in the HTTP header (8 bytes too small) which causes a problem with IIS7 on Windows Vista. Note that the incorrect value is present but does not cause a problem with IIS5.1 on XP or with Apache on Vista, XP or Linux. You don't see any symptoms unless using IIS7. Reproduce code: --------------- The problem seems to occur on any response I get from PHP SOAP. Used 5.2.5 installed with Windows installer with SOAP + PDO SQLite modules and running as CGI Expected result: ---------------- Looking at a specific example with Wireshark on various servers, the full body of the SOAP response consists of 578 bytes: SP CR LF 569 bytes of XML LF SP CR LF CR LF I would expect the HTTP header to include Content-Length: 578 Actual result: -------------- The HTTP header contains Content-Length: 570 What I actually receive in the client is: With IIS7: 570 bytes of body, so the last two bytes of the XML are truncated and my Java applet client software won't parse it With IIS5.1: 570 bytes of body followed by a second HTTP packet containing the last 8 bytes, which works With Apache: The whole response in one HTTP packet with no truncation, which works So the SOAP communication still works OK on the older IIS and Apache even with the incorrect content length, but on each message sent by vista the response ends with "</SOAP-ENV:Envelop" and the "e>" and terminating bytes are missing. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43991&edit=1