我正在尝试使用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 ="}}
答案 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)
);