A change made the http://www.w3.org/2001/xml.xsd schema, by the W3 Group, broke SOAP in PHP5. The bug created the exception
> (“SOAP-ERROR: Parsing Schema: union has both ‘memberTypes’ attribute and subtypes”)
You would get this exception when your schema is parsed by PHP. In order to encounter this bug you had to have a WSDL that includes:
> <xsd :import namespace=”http://www.w3.org/XML/1998/namespace” schemaLocation=”http://www.w3.org/2001/xml.xsd” />
The official bug report can be seen at bugs.php.net
The nightly builds, for some reason, where not working for me but I lurked around the mailing list and noticed a new Release Candidate. I downloaded it, compiled it, installed it and it worked!
These were the options I turned on:
>./configure –prefix=/usr/local/php5 –with-apxs=/usr/sbin/apxs –enable-mbstring –enable-soap –enable-libxml2 –enable-domxml –enable-gd –enable-gettext –enable-imap –enable-ldap –enable-mcrypt –enable-mhash –enable-mime_magic –enable-mysql –enable-session –enable-xslt –with-zlib-dir=/usr/local/ –enable-mysql –with-mysql=/sw
If you have Mac OS Tiger and want to try this version of PHP, simply install the package below:
PHP5RC3.dmg
Once installed, add these lines to */etc/http/httpd.conf*
> LoadModule php5\_module libexec/httpd/libphp5.so
> AddModule mod\_php5.c
> AddType application/x-httpd-php .php
> AddType application/x-httpd-php-source .phps
> DirectoryIndex index.php index.html