#php #web-services #soap
#php #веб-службы #мыло
Вопрос:
Я вызываю веб-сервис из PHP и получаю эту ошибку:
Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/x-gzip'.'
Я должен изменить заголовок типа содержимого моего запроса, но все, что я пробовал, не удалось.
Я устанавливаю заголовок следующим образом:
$httpHeaders = array(
'http' => array(
'header' => "Content-Type: application/x-gzip; charset=utf-8rn".
"Content-Encoding: gziprn",
)
);
$context = stream_context_create($httpHeaders);
$soapparams = array(
'stream_context' => $context,
'trace' => 1,
'exceptions' => 0,
'login' => 'myuser',
'password' => 'mypass',
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
);
$wsdl = 'https://coll.leo-italy.eu/BioGatewayService/wsdl/Aia.BioGateway.Services.BioIZSUMGatewayService.svc?wsdl';
$soap = new SoapClient($wsdl, $soapparams);
Это заголовок, который я получаю:
'POST /BioGatewayService/Aia.BioGateway.Services.BioIZSUMGatewayService.svc HTTP/1.1
Host: coll.leo-italy.eu
Connection: Keep-Alive
User-Agent: PHP-SOAP/7.2.3RC1
Accept-Encoding: gzip, deflate
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://schemas.siall.it/IBioIZSUMGatewayService/SetAnalisiIZSUM"
Content-Length: 227
Authorization: Basic xxxxxxx
Content-Encoding: gzip
'
Значение Content-Encoding: gzip
установлено правильно, но тип содержимого не меняется.
Есть какие-нибудь мысли?