Bug #49278 [Com]: SoapClient::__getLastResponseHeaders returns NULL if wsdl operation !has output

From: Date: Fri, 24 Nov 2017 10:26:06 +0000
Subject: Bug #49278 [Com]: SoapClient::__getLastResponseHeaders returns NULL if wsdl operation !has output
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-212710@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=49278&edit=1 ID: 49278 Comment by: bepeppered at gmail dot com Reported by: jeroen at asystance dot nl Summary: SoapClient::__getLastResponseHeaders returns NULL if wsdl operation !has output Status: Verified Type: Bug Package: SOAP related Operating System: linux PHP Version: 5.3.3 Block user comment: N Private report: N New Comment: Is there any fix in future? It also happens on 7.1.11 Previous Comments: ------------------------------------------------------------------------ [2016-06-08 12:21:56] vavra at 602 dot cz I observe this issue, if operation doesn't have any output and also if have output. Windows 10 x64, PHP 5.6.17 (cli) (built: Jan 6 2016 13:28:25) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.4.0RC4, Copyright (c) 2002-2016, by Derick Rethans ------------------------------------------------------------------------ [2011-02-11 12:37:42] jeroen at asystance dot nl Also, if I add 'feature' => SOAP_WAIT_ONE_WAY_CALLS to the options array in the SoapClient constructor, instead of nothing, I get PHP Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document ------------------------------------------------------------------------ [2011-02-11 12:31:01] jeroen at asystance dot nl Just wanted to confirm this bug is still present in 5.3.3 ------------------------------------------------------------------------ [2009-09-19 20:19:00] sjoerd@php.net Thank you for your bug report. Apparently, the response is not parsed at all when the method returns nothing. This gives problems with getLastResponseHeaders, as the bug reporter described. Furthermore, if the server returns a HTTP status such as 404 Not Found or 500 Internal Error, the client should does not throw a SoapFault, where it should. See ext/soap/php_http.c:771. ------------------------------------------------------------------------ [2009-08-17 10:07:52] jeroen at asystance dot nl Description: ------------ For <wsdl:operation>s that do not have output, SoapClient does not return last response headers. Reproduce code: --------------- download http://jayvee.nl/soaptest3.tar change URL in interface.wsdl to point to SOAPtest.php SOAPtest.php contains both client and server code, so just run php SOAPtest.php Expected result: ---------------- SoapClient::getLastResponseHeaders should return string Actual result: -------------- SoapClient::getLastResponseHeaders returns NULL ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=49278&edit=1

« previous php.bugs (#212710) next »