ID: 48216 Updated by: [email protected] Reported By: mark at everytruckjob dot com -Status: Open +Status: Feedback Bug Type: SOAP related Operating System: CentOs 5.3 PHP Version: 5.3.0RC2 New Comment:
I tested using the HTTP trace Robert Ripley sent. I discovered some things: Libxml uses the PHP stream wrappers to load the WSDL. These stream wrappers return a malformed WSDL to libxml. This is not specific to SOAP. Running file_get_contents($wsdl) also returns a malformed WSDL. It is reproducible with PHP 5.3 but not with PHP 5.3-HEAD. This suggests that this bug has already been fixed. Previous Comments: ------------------------------------------------------------------------ [2009-10-06 17:09:14] robert dot ripley at fhchs dot edu I'm also experiencing the same problem. Here is the HTTP header of the WSDL: HTTP/1.1 200 OK\r\n Date: Tue, 06 Oct 2009 16:48:26 GMT\r\n Server: Apache/2.2.8 (Win32) PHP/5.2.5\r\n X-Powered-By: PHP/5.2.5\r\n Expires: Wed, 06 Oct 2010 04:00:00 GMT\r\n Cache-Control: no-store, no-cache, must-revalidate\r\n Pragma: no-cache\r\n Last-Modified: Tue, 06 Oct 2009 16:48:26 GMT\r\n Cache-Control: post-check=0, pre-check=0\r\n Vary: User-Agent\r\n Keep-Alive: timeout=5, max=100\r\n Connection: Keep-Alive\r\n Transfer-Encoding: chunked\r\n Content-Type: application/xml;\r\n \r\n ------------------------------------------------------------------------ [2009-09-18 16:39:44] boris dot t at usask dot ca it seems that X-Powered-By: is causing problems. The same problem exists when HTTP/1.x 200 OK Date: Fri, 18 Sep 2009 16:24:06 GMT X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0 Content-Type: text/xml;charset=utf-8 Connection: close Transfer-Encoding: chunked and the same code works when HTTP/1.x 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Fri, 18 Sep 2009 16:23:28 GMT ------------------------------------------------------------------------ [2009-09-07 20:04:53] [email protected] Thank you for your feedback. It would be most helpful to us if you could supply us with the HTTP transaction of the retrieval of the WSDL. You may use a sniffer like Wireshark to obtain this information, or use this script I wrote <http://www.gissen.nl/files/sniff.php>. ------------------------------------------------------------------------ [2009-09-07 00:43:35] michael dot tibben at gmail dot com We are experiencing a similar issue. However, the HTTP reply is using chunked transfer encoding (Content-Length is NOT required when using chunked) HTTP/1.1 200 OK Date: Sun, 06 Sep 2009 23:25:16 GMT Server: Apache X-Powered-By: Servlet/2.4 JSP/2.0 Transfer-Encoding: chunked Content-Type: text/xml; charset=UTF-8 ------------------------------------------------------------------------ [2009-06-24 10:23:47] sjoerd-php at linuxonly dot nl Thank you for your bug report. The WSDL URL you supply does not send a Content-Length or Transfer-Encoding header in some cases, which is mandatory in a response with a body. In other words, it does not follow the HTTP protocol. You should contact the provider of the WSDL about this. GET /url HTTP/1.0 Host: example.com HTTP/1.1 200 OK Date: Wed, 24 Jun 2009 10:18:10 GMT Server: Apache Connection: close Content-Type: text/xml <?xml version="1.0" encoding="UTF-8"?>... ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/48216 -- Edit this bug report at http://bugs.php.net/?id=48216&edit=1
