ID: 35399 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: SOAP related Operating System: Solaris 9 PHP Version: 5.1.0 Assigned To: dmitry New Comment:
Works correctyl now after replacing my php_sdl.c with the CVS version. Thanks! Previous Comments: ------------------------------------------------------------------------ [2005-11-28 11:10:13] [EMAIL PROTECTED] Fixed in CVS HEAD, PHP_5_1 and PHP_5_0. Thank you for catching it. ------------------------------------------------------------------------ [2005-11-26 11:42:46] [EMAIL PROTECTED] The used wsdl: http://ws.pangaea.de/ws/services/PangaVista?wsdl ------------------------------------------------------------------------ [2005-11-25 22:56:53] [EMAIL PROTECTED] Interesting is the following fact: It worked correctly as long as the old wsdl cache file from PHP 5.1.0RC5 (what was installed before) was valid. So it seems that the patch for fixing the other bug parses the wsdl correctly and initializes all php_sdl structures correctly but when saving them to the cache file the base64binary xsd type seems to get forgotten. ------------------------------------------------------------------------ [2005-11-25 21:43:04] [EMAIL PROTECTED] Description: ------------ Installed today PHP 5.1.0 final and for the first time everything worked OK. But after five hours the WSDL cache outdated and the webservice refetched our WSDL. After that for the first time everything works OK and like exspected (for PHP 5.1!) - base64binarys decode as exspected (not like in 5.0 where this was missing). After reloading the page and when the SOAP extension used the WSDL from the cache the data was only available in raw base64 form. When reverting the following patch it works as exspected: http://cvs.php.net/diff.php/php-src/ext/soap/php_sdl.c?r1=1.88.2.1&r2=1.88.2.2&ty=h Reproduce code: --------------- * Clear the WSDL cache in /tmp * Access a SOAP service that returns a base64binary somewhere in its complex return type (this should work) * reload the page (now the data is not decoded) - if you remove the wsdl-* cache files it works again. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35399&edit=1