PHP 5.3 и SoapClient: нельзя изменить заголовки HTTP - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь изменить заголовки HTTP, отправленные PHP во время вызова Soap.Мне нужно, чтобы в мою службу было отправлено следующее:

Content-Type: text / xml; charset = UTF-8

В соответствии со всеми обходными путями, которые я видел, я должен использоватьконтекст, которым я на данный момент являюсь:

   $STC = stream_context_create(array(
        'http' => array(
            'header' => 'Content-type: text/xml;charset=UTF-8'
        ),
    ));

    $opt = array(
        "soap_version" => SOAP_1_2,
        "login" => $this->LOGIN,
        "password" => $this->PASSWORD,
        "authentication" => SOAP_AUTHENTICATION_BASIC,
        "trace" => true,
        "exceptions" => 1,
        "cache_wsdl" => WSDL_CACHE_NONE, 
        "connection_timeout" => 30,
        'stream_context' => $STC
    );
    $soapClient = new SoapClient($this->WSDL, $opt );

Дело в том, что независимо от того, как я это пробую, когда я изменяю дамп заголовков, отправленных моим клиентом Soap (используя __getLastRequestHeaders ()), я получаю следующее:

Тип содержимого: приложение / мыло + xml;кодировка = UTF-8;action = ""

И мой вызов не удался, потому что сервер ожидает правильный тип содержимого.

Чего мне не хватает?Почему php не принимает изменения на ожидаемый тип?

Заранее спасибо за ваши идеи!

...