Я пытаюсь использовать функцию GetExample в веб-сервисе под названием http://www.example.com/ex.wsdl но когда я использую функцию __soapCall, xml превращается в нижний регистр. пример
$server="http://www.example.com/example.wsdl";
$soapClient = new SoapClientDebug($server, array('trace' => TRUE));
$parametros = array('Cups' => '8','Tarifa'=>'2');
$function = 'GetExample';
$resultado = $soapClient->__soapCall($funcion, array($parametros));
И это класс SoapClientDebug:
class SoapClientDebug extends SoapClient
{
public $sendRequest = true;public function __doRequest($request, $location, $action, $version, $one_way=0) {
if ($this->sendRequest) {
var_dump($request);
return parent::__doRequest($request, $location, $action, $version, $one_way);
}
else {
return '';
}
}
}
$ Request var_dump показывается так:
<soap-env:envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://com/example/WS/OmieServices"><soap-env:body><ns1:getexample><ns1:cups>8</ns1:cups><ns1:tarifa>2</ns1:tarifa></ns1:getexample></soap-env:body></soap-env:envelope>
Если имя функции в нижнем регистре, веб-сервис ничего не возвращает. Я видел конструкцию soapClient и ничего об этом не видел в http://php.net/manual/es/soapclient.soapclient.php
Задача ещё не решена.
Других решений пока нет …