So the error is:
PHP Fatal error: Procedure 'sup:set_availability' not present in XMLSoapServer.php
I am receiving this error on my development environment (MAMP).
This is caused by an invalid XML string, in wich the 'sup' namespace isn't defined:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<sup:set_availability>
<SetAvailability>
...
</SetAvailability>
</sup:set_availability>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
(It's an external request, so I can't just go and correct the source - well I can, but atleast not on a short notice.)
The problem is that I got 2 servers that are processing the same request. Without the error. So my quest is to find out why :)
Some details:
- Server 1: php 5.3.2
- Server 2: php 5.4
- Development: php 5.4
Things I have checked so far:
- the code is the same svn-checkout
- no hidden dev or production only setting
- apache config's are the same
- wsdl caching is disabled, cached wsdl are cleared
- php.ini settings are the same, with an exception for libxml2:
Server 1 has version 2.6.26 server 2 has version 2.7.7 - on which the request works like a charm My dev environment has lixml2 version 2.8.0 - and does throw the fatal error.
My guess is (or was) that libxml2 is causing the errors - but I can't find any resource on this topic - neither was I succesfull to downgrade my local libxml2 version to 2.6 or 2.7.
So... any thoughts on this?