у меня есть мыло с методом, который ничего не возвращает
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?
что скажем стандарт мыла для метода без возврата значения?
Задача ещё не решена.
Других решений пока нет …