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