Returning an array of values instead of an object
| Bug #38536 | Returning an array of values instead of an object | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2006-08-21 13:59 UTC | Modified: | 2006-11-08 10:06 UTC |
|
||||||||||
| From: | sabrina at corp dot grupos dot com dot br | Assigned: | dmitry (profile) | |||||||||||
| Status: | Closed | Package: | SOAP related | |||||||||||
| PHP Version: | PHP_5_2 cvs | OS: | FreeBSD 6.1 | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2006-08-21 13:59 UTC] sabrina at corp dot grupos dot com dot br
Description: ------------ The return soap message should be an array of objects. Instead, it is returning an array of arrays. Each item should be an object, but it is an array. For each item in the array, a value is popped out, such as only the last item in the array has one value and is an object, as it should be. When using version 5.1.4 is working.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-08-21 20:06 UTC] tony2001@php.net
[2006-08-22 13:11 UTC] sabrina at corp dot grupos dot com dot br
<? $proxyParams = array('soap_version' => SOAP_1_1, 'trace' => false, 'exceptions' => true, 'encoding' => 'ISO-8859-1', 'location' => $newIp ); try { $SOAPObject = new SoapClient('http://enturma.com.br/wsdl/session.wsdl', $proxyParams); } catch (SoapFault $e) { throw new ESoapException($e->faultcode, $e->faultstring, 'initSOAP', $this->componentName, false); } $return = $SOAPObject->__soapCall('getClientInfoFromDomain', 'sabrina.corp.grupos.com.br'); var_dump($return); /** Var_dump for 5.1.5 can be seen here: http://intranet.grupos.com.br/~sabrina/phpbug/phpreply515.html Var_dump for 5.1.4 can be seen here: http://intranet.grupos.com.br/~sabrina/phpbug/phpreply514.html **/ ?>[2006-08-22 13:51 UTC] tony2001@php.net
[2006-08-22 14:43 UTC] sabrina at corp dot grupos dot com dot br
unfortunately, you cannot execute this code as it is, because the webservice in question is private and cannot be accessed externarly or without authentication. the line: $return = $SOAPObject->__soapCall('getClientInfoFromDomain', 'sabrina.corp.grupos.com.br'); is incorrect, and should be: $return = $SOAPObject->__soapCall('getClientInfoFromDomain', array('sabrina.corp.grupos.com.br')); but other than that, you could either try to access a webservice that returns an array of objects or read the the result dumps of this script for versions 5.1.4 and 5.1.5 (you can check these files http://intranet.grupos.com.br/~sabrina/phpbug/phpreply515.html http://intranet.grupos.com.br/~sabrina/phpbug/phpreply514.html ) and see that there is a big difference between both responses. thank you for your replies.[2006-08-24 08:06 UTC] tony2001@php.net
[2006-09-01 01:00 UTC] php-bugs at lists dot php dot net
[2006-11-07 14:06 UTC] sabrina at corp dot grupos dot com dot br