Мой SoapClient не может открыть файл gzipped wsdl напрямую. Не стесняйтесь взглянуть на WSDL самостоятельно, я думаю, что он публичный (https://www.ad -juster.com / api_sandbox / api / dre-api.wsdl)
Я пробовал кучу настроек вроде
$client = new SoapClient("https://www.ad-juster.com/api_sandbox/api/dre-api.wsdl", array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9));
Но это не работает. Я также попробовал почти все комбинации функций php Zlib, и работал только gzfile ().
Это моя хаккейная работа, которая мне действительно не нравится:
$file = fopen('/tmp/tmp.wsdl', 'w+');
$input = gzfile('https://www.ad-juster.com/api_sandbox/api/dre-api.wsdl');
foreach ($input as $line) {
fwrite($file, $line);
}
fclose($file);
$client = new SoapClient('/tmp/tmp.wsdl', array('location' => 'https://www.ad-juster.com/api_sandbox/api/'));
Кто-нибудь может порекомендовать лучший способ сделать это?