PHP SoapClient获取gzip wsdl

时间:2010-10-08 23:00:54

标签: php soap wsdl gzip

我的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/'));

有人可以推荐更好的方法吗?

0 个答案:

没有答案