php juniper很多酒店肥皂网服务不工作

时间:2017-10-18 11:22:55

标签: php web-services soap juniper

我正在尝试使用juniper soap web服务,但我收到了错误 以下是我正在使用的代码

 $client = new SoapClient('http://xml2.bookingengine.es/WebService/JP/WebServiceJP.asmx?WSDL', array("trace" => 1, "exception" => 1));$parameters = [
    'HotelListRQ' => [
        'version' => '1.1',
        'language' => 'en',
        'login' => ['email' => 'Email@email.com', 'password' => 'xxxxxxxx'],
        'HotelListRequest' => ['ZoneCode' => '55153']    ]]; 
$bookingList = $client->HotelList($parameters);
echo json_encode($bookingList);

,输出

  

{" HotelListRS" {"错误" {"错误" {"文本":"请加上   '接受编码:gzip,deflate'请愿书中的标题。这个可以   减少传输时间和响应大小约75-95%。看到   更多:   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html","Code":"COMPRESSION_REQUIRED"}},"Url" ;:" HTTP://xml2.bookingengine.es","时间戳":" 2017-10-18T13:21:09.69911 + 02:00",& #34; INTCODE":" lTi3rTnUmLR / a7qZHG2RbvurJ1USoOdKCz2UX3Y19y0 ="}}

2 个答案:

答案 0 :(得分:0)

请在标题中添加以下内容:

"Accept-Encoding": "gzip, deflate"

并且不要忘记在您的请求中将编码设置为null。 最后解压缩响应,因为它采用gzip格式。

答案 1 :(得分:0)

它适用于像

那样的SOAP客户端定义
   $client = new SoapClient(
        'http://xml2.bookingengine.es/WebService/JP/WebServiceJP.asmx?WSDL',
        array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE, 'trace' => 1)
    );