|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35399 Since fix of bug #35273 SOAP decoding of base64binary fails
Submitted: 2005-11-25 21:43 UTC Modified: 2005-11-28 11:28 UTC
From: Assigned: dmitry
Status: Closed Package: SOAP related
PHP Version: 5.1.0 OS: Solaris 9
Private report: No CVE-ID:
 [2005-11-25 21:43 UTC]
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:

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.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2005-11-25 22:56 UTC]
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-28 11:10 UTC]
Fixed in CVS HEAD, PHP_5_1 and PHP_5_0.

Thank you for catching it.
 [2005-11-28 11:28 UTC]
Works correctyl now after replacing my php_sdl.c with the CVS version. Thanks!
PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Thu Nov 26 23:01:33 2015 UTC