Как исправить ошибку: «Опубликовать данные XML SoapClient с CDATA не работает» - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть сервис SOAP для использования.Этот веб-сервис работает на SoapUI и не работает в моем коде PHP.

Я пытался отправить XML или массив, но оба не работают.

Если я отправляюXML без параметров CDATA с другой функцией, он работает.

<?php
$url = 'https://url/Service.svc?WSDL';
$contextOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);
$stream_context = stream_context_create($contextOptions);
$client = new SoapClient($url, array(
    'cache_wsdl' => WSDL_CACHE_NONE,
    'exceptions' => 1,
    'trace' => 1,
    'stream_context' => $stream_context,
    'soap_version' => SOAP_1_1,
    'use' => SOAP_LITERAL,
    'style' => SOAP_DOCUMENT
));
try
    {
    $xml1 = '
       
       
          
             <!--Optional:-->
             <![CDATA[
        <Request>
            199191
            FAkepass
            393993
            20190211100000
            2828282
            1234567890201
        
    ]]>
          
       
    ';
    $args = array(
        new SoapVar($xml1, XSD_ANYXML)
    );
    $res = $client->__soapCall('GET_BALANCE', $args);
    var_dump($res);
    }

catch(SoapFault $e)
    {
    echo "Error: {$e}";
    }

echo "Last Request";
echo "", htmlspecialchars($client->__getLastRequest()) , "
";}
...