Как отправить параметры в запросе мыла в php в функции __soapcall () - PullRequest
0 голосов
/ 28 июня 2018

Я хочу отправить нижеприведенный XML-запрос на сервер, который отправляет нормально, используя мыльный интерфейс, но не в php:

  <ns:AgentLogin>

       <ns:AgentLoginRQ>

        <ns:Authentication>

           <ns:DBName>************</ns:DBName>

           <ns:IP>************</ns:IP>

        </ns:Authentication>

        <ns:AgentABTA>************</ns:AgentABTA>

        <ns:UserName>************</ns:UserName>

        <ns:Password>************</ns:Password>

      </ns:AgentLoginRQ>

  </ns:AgentLogin>

я создаю мыльный клиент, как этот

 $client = new \SoapClient("https://digicom-poc-ota.inspiretec.com/TravelinkCEService.svc?wsdl"); 

что нормально, а затем создайте функцию вызова мыла, как это

$data = array('AgentABTA'=>'DIGICOM_POC_DEMO'
        ,'UserName'=>'************'
        ,'Password'=>'************'
        ,'Products'=>'************'
        );

$result = $client->__soapCall('AgentLogin',$data);

__ soapcall выдает ошибку пустого тела запроса.

Ответы [ 2 ]

0 голосов
/ 09 июля 2018
Hope this might help you out:

$client = new \SoapClient("your_wsdl_link"
            , ['trace' => true]);
                $params =  array(
                'AgentLoginRQ' => array(
                    'DBName'=>'DATABASE_NAME',
                    'AgentABTA' => '****',
                    'UserName' => '****',
                    'Password' => '********',
                    'Products' => '',
                )
            );
        $result = $client->YourFunction($params);
0 голосов
/ 01 июля 2018

Это, безусловно, из-за неправильной структуры данных массива в соответствии с WSDL. Вы должны определенно использовать генератор WSDL для php, который в настоящее время распространен. Это помогает структурировать данные запроса и легко обрабатывать ответ, используя подход ООП.

Вам следует взглянуть на проект PackageGenerator , который действительно может помочь вам справиться с этой веб-службой SOAP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...