Bug #70462 [NEW]: SOAP call with one_way=1 always returns "SoapClient::__doRequest() returned no"

From: Date: Tue, 08 Sep 2015 12:22:41 +0000
Subject: Bug #70462 [NEW]: SOAP call with one_way=1 always returns "SoapClient::__doRequest() returned no"
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-195873@lists.php.net to get a copy of this message
From: galaevnik at yandex dot ru Operating system: Win7 PHP version: 5.6.13 Package: SOAP related Bug Type: Bug Bug description:SOAP call with one_way=1 always returns "SoapClient::__doRequest() returned no" Description: ------------ PHP 5.3 && 5.6.7 && actual 5.6+ If we call SoapClient::__doRequest() with $one_way = 1 we always have same error: SoapClient::__doRequest() returned non string value But when we calling one-way request we didn't expect to get response at all, and yes, this is non-string value. Code below shows, than there is no checks on this var in __doRequest at all: https://github.com/php/php-src/blob/master/ext/soap/soap.c:2602 Test script: --------------- https://github.com/php/php-src/blob/master/ext/soap/soap.c:2602 } else if (Z_TYPE_P(response) != IS_STRING) { if (EG(exception) && instanceof_function(EG(exception)->ce, zend_ce_error)) { zval rv; zend_string *msg; zval exception_object; ZVAL_OBJ(&exception_object, EG(exception)); msg = zval_get_string(zend_read_property(zend_ce_error, &exception_object, "message", sizeof("message")-1, 0, &rv)); /* change class */ EG(exception)->ce = soap_fault_class_entry; set_soap_fault(&exception_object, NULL, "Client", ZSTR_VAL(msg), NULL, NULL, NULL); zend_string_release(msg); } else if ((fault = zend_hash_str_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault")-1)) == NULL) { add_soap_fault(this_ptr, "Client", "SoapClient::__doRequest() returned non string value", NULL, NULL); } ret = FALSE; } Expected result: ---------------- If we call one-way SOAP query we didn't expect on response at all, so i expected to see null or false, but not critical error. -- Edit bug report at https://bugs.php.net/bug.php?id=70462&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=70462&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=70462&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=70462&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=70462&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=70462&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=70462&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=70462&r=needscript Try newer version: https://bugs.php.net/fix.php?id=70462&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=70462&r=support Expected behavior: https://bugs.php.net/fix.php?id=70462&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=70462&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=70462&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=70462&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=70462&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=70462&r=dst IIS Stability: https://bugs.php.net/fix.php?id=70462&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=70462&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=70462&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=70462&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=70462&r=mysqlcfg

« previous php.bugs (#195873) next »