php.net |  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: thetaphi@php.net Assigned: dmitry (profile)
Status: Closed Package: SOAP related
PHP Version: 5.1.0 OS: Solaris 9
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: thetaphi@php.net
New email:
PHP Version: OS:

 

 [2005-11-25 21:43 UTC] thetaphi@php.net
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.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

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

Thank you for catching it.
 [2005-11-28 11:28 UTC] thetaphi@php.net
Works correctyl now after replacing my php_sdl.c with the CVS version. Thanks!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 22:01:26 2024 UTC