Невозможно обработать сообщение, потому что тип содержимого 'text / xml;charset = utf-8 'не был ожидаемым типом' application / soap + xml;кодировка = UTF-8' - PullRequest
0 голосов
/ 01 января 2019

Я получаю сообщение «Невозможно обработать сообщение, поскольку тип содержимого« text / xml; charset = utf-8 »не соответствует ожидаемому типу« application / soap + xml; charset = utf-8 »» после реализации приведенного ниже кода.Пожалуйста, помогите исследовать проблему.

Я пробовал ту же службу с SOAP UI и ее успех.После изменения версии SOAP на 1.1 я получаю то же сообщение и с SOAP UI.

пример кода

<?php
    $context = stream_context_create([
        'ssl' => [
            'soap_version' => SOAP_1_2,
            'verify_peer' => false,
            'verify_peer_name' => false,
            'connection_timeout' => 1
            ]
    ]);

       $requestParams = '<?xml version="1.0" encoding="UTF-8"?>
        <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Header>
            <CustomHeader xmlns="http://schemas.test.com/CustomHeader">

            </CustomHeader>
        </s:Header>
        <s:Body>

        </s:Body>
    </s:Envelope>';


        $client  = new SoapClient('https://myservice.svc?singlewsdl',  array('stream_context' => $context)); 
        $client->__setLocation('https://myservice.svc');
        $response = $client->__soapCall('mymethod', array($requestParams));
    ?>

1 Ответ

0 голосов
/ 01 января 2019

Не думаю, что вы можете установить версию soap в параметрах SSL.Попробуйте установить версию soap в качестве другого параметра во время инициализации.

    $client  = new SoapClient('https://myservice.svc?singlewsdl',  array('soap_version' => SOAP_1_2,'stream_context' => $context)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...