使用php5,我正在基于不使用Header元素的wsdl向web服务发出soap请求.
一切,我现在被要求在我的肥皂要求上使用gzip压缩.
所以我的客户现在看起来像这样:
$client = new SoapClient('xxxxx.wsdl',
array('compression'=>
SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
'trace' => 1, )
);
我google了一下,我发现网站说我也应该在SOAP_COMPRESSION_GZIP之后添加gzip压缩级别(添加| 9),但是当我这样做时,我得到一个肥皂故障
“Content is not allowed in prolog”
所以我放下了管子9)
题:
我不是肥皂专家,上面的表示法我没有在出站xml请求和退货请求上得到任何错误.我怎么知道我的gzip压缩是否正常工作,如果是,那么另一方面是否已经确认?
最佳答案 您可以检查SoapClient :: __ getLastRequestHeaders并检查内容编码和内容长度标头.如果请求被压缩,则Content-Length值应小于有效负载大小
如果Web服务不在HTTPS上,您还可以运行WireShark之类的数据包嗅探器并捕获请求并查看确切传输的内容.