我的SoapClient无法直接打开一个gzip压缩的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()工作。
这是我非常讨厌的hackey工作,我真的不喜欢:
$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/'));
有人可以推荐更好的方法吗?