php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41983 Error Fetching http headers
Submitted: 2007-07-12 20:56 UTC Modified: 2007-07-24 09:28 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: ipso at snappymail dot ca Assigned: dmitry
Status: Closed Package: SOAP related
PHP Version: 5.2.3 OS: Linux
Private report: No CVE-ID:
 [2007-07-12 20:56 UTC] ipso at snappymail dot ca
Description:
------------
I'm trying to use a SOAP API on an embedded device, the device is responding to the SOAP request, however PHP is saying there is an error fetching headers.

Reproduce code:
---------------
SOAP Request:
--------------------------------------------------------------------------
POST /iWsService HTTP/1.1
Host: 192.168.1.201
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.3
Content-Type: text/xml; charset=utf-8
SOAPAction: "uri:zksoftware#GetDate"
Content-Length: 494
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="uri:zksoftware" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:GetDate><ArgComKey xsi:type="xsd:string">0</ArgComKey></ns1:GetDate></SOAP-ENV:Body></SOAP-ENV:Envelope>


Response from SOAP Server:
--------------------------------------------------------------------------
HTTP/1.0 200 OK
Server: ZK Web Server
Pragma: no-cache
Cache-control: no-cache
Content-Type: text/xml
Connection: close

<?xml version="1.0" encoding="iso8859-1" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<GetDateResponse>
<Row Date='2006-06-24' Time='14:24:11'></Row>
</GetDateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

However PHP returns: [faultstring] => Error Fetching http headers




Expected result:
----------------
Expect PHP to parse the SOAP response properly.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-07-13 08:06 UTC] arrakami at gmail dot com
I have the same problem and i would like to give some feedback too. But i can't find a way to capture the HTTP response. Any suggestions how i could do that? The soap server is 3rd party.
 [2007-07-13 08:34 UTC] dmitry@php.net
It seems like some kind of incompatibility between ext/soap and your soap or HTTP server. To fix the problem I need capture of HTTP response in binary form (including all special chars). Or give me a real PHP code that access buggy SOAP server so I'll able to reproduce it myself.
 [2007-07-13 15:40 UTC] ipso at snappymail dot ca
I emailed a TCP dump of the SOAP request/response to: dmitry@php.net
 [2007-07-19 16:27 UTC] ipso at snappymail dot ca
Just wanted to follow-up and make sure you got the email okay and have all the data you need to help track down the issue?

Thanks for looking into this.
 [2007-07-21 17:20 UTC] ipso at snappymail dot ca
I had someone look into this for me, apparently the device isn't sending the "\r\n" at the end of the header, but only "\n". 

So instead of:
if (strcmp(headerbuf, "\r\n") == 0) {

Use:
if (strcmp(headerbuf, "\r\n") == 0 || strcmp(headerbuf, "\n") == 0) {
 [2007-07-21 17:22 UTC] ipso at snappymail dot ca
Sorry, here is the file and line that needs changing:

ext/soap/php_http.c:1298
 [2007-07-24 09:28 UTC] dmitry@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 13:02:15 2014 UTC