Sometime, it happens that PHP does not detect anything in $HTTP_RAW_POST_DATA.
To solve this problem and make it work in any case:
function soaputils_autoFindSoapRequest() {
global $HTTP_RAW_POST_DATA;
if($HTTP_RAW_POST_DATA)
return $HTTP_RAW_POST_DATA;
$f = file("php://input");
return implode(" ", $f);
}
$server = new SoapServer($wsdl);
$server->setClass($MyClass);
$server->handle(soaputils_autoFindSoapRequest());
