PEAR::SOAP, large hashes and _isHash()
| From: | Seth Daniel | Date: | Sun, 26 Dec 2004 23:36:33 +0000 |
| Subject: | PEAR::SOAP, large hashes and _isHash() | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-1684@lists.php.net to get a copy of this message | ||
Hello,
I am working on a PHP SOAP client using PEAR::SOAP. I recently ran
across what would appear to be a bug. I can 'fix' the problem by
commenting out a single line in Base.php (line 718 in the 0.8.1
release). The problem occurs when I have an large array of SOAP_Value
objects (more than 10 objects). Now, this line that I have commented
out is in the _isHash function. _isHash is only called if there is no
type associated with the passed in $value to _serializeValue(). If I am
not using WSDL (and I am not) then there doesn't appear to be any way to
set a type for $value in _serializeValue() thus _getType will always be
called, and for arrays _isHash will always be called from _getType. For
large arrays this means the passed array will always be marked as an
"array" instead of as an Struct. This would appear to be a bug. By
commenting out the previously mentioned line this resolves the problem
but perhaps there should be some way to specify the type of the passed
in array if one is not using WSDL? Or maybe I am missing something very
obvious.
--
seth / @sethdaniel.org
I used to jog, but the ice kept bouncing out of my glass.