у меня есть мыло с методом, который ничего не возвращает
class mySoapService { foo(){ } } $wsdl = ...; $soapService = new mySoapService(); $soapServer = new \SoapServer($wsdl); $soapServer->setObject($soapService); $soapServer->handle(); // write nothing on call foo
некоторые мыльные клиенты вызывают исключение, потому что ожидают правильного пустого ответа xml-soap, например:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
вопросы:
почему PHP SoapServer возвращает пустой ответ, а не пустой ответ xml-soap?
что скажет стандарт мыла для метода без возврата значения?