肥皂SOAP_COMPRESSION_GZIP验证是否有效

时间:2010-04-23 20:46:23

标签: php soap

使用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压缩是否正常工作,如果是,那么另一方是否已经确认了?

1 个答案:

答案 0 :(得分:2)

您可以检查SoapClient :: __ getLastRequestHeaders并检查内容编码和内容长度标头。如果请求被压缩,则Content-Length值应小于有效负载大小

如果Web服务不在HTTPS上,您还可以运行WireShark之​​类的数据包嗅探器并捕获请求并查看确切传输的内容。