Soap невозможно подключиться к хосту с помощью файла .wsdl php 7.3 Drupal 8 - PullRequest
2 голосов
/ 29 февраля 2020

Я пытаюсь получить данные от двух soap API, вот код для первого API, который работает нормально.

public static function data_list()
    {

        ini_set('soap.wsdl_cache_enabled', 0);
        ini_set('soap.wsdl_cache_ttl', 0);
        $host = $host = \Drupal::request()->getSchemeAndHttpHost();
        $wsdl = $host . "/modules/custom/upm_api_data/connect/empprof.wsdl";           
        $client = new \SoapClient($wsdl); 

        $params = array('ALL' =>  'ALL');
        $response = $client->__soapCall("ZCIG_FACULTY_STAFF_PROFILE", array($params));      
        return $response;
    }

И есть еще один API, который показывает:

SoapFault: не удалось подключиться к хосту в SoapClient -> __ doRequest () ошибка

 public static function images_api()
    {
        ini_set('soap.wsdl_cache_enabled',0);
        ini_set('soap.wsdl_cache_ttl',0);

        $host = $host =  \Drupal::request()->getSchemeAndHttpHost();
        $wsdl = $host . "/modules/custom/upm_api_data/connect/ImageRac.WSDL";

        $client = new \SoapClient($wsdl);

        $parameters = array('P_PERNR' => "00006629");
        $response = $client->__soapCall("ZCIG_IMAGE_WS", array($parameters));   
        return $response;
    }

Второй API-интерфейс работает нормально в Drupal 7 Php 5.6, но код similer не работает в php 7.3 Drupal 8 Я перепробовал почти все, что связано с этой проблемой на inte rnet, например, добавив это в настройках

array(
     'stream_context'=> stream_context_create(
        array(
          'ssl'=> array(
             'verify_peer'=>false,'verify_peer_name'=>false
             )
         )
     )
)

или

array(
        'trace' => 1,
        'exceptions' => true,
        'cache_wsdl' => WSDL_CACHE_NONE,
        'stream_context' => stream_context_create(
            array(
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                    'allow_self_signed' => true
                )
            )
        )
    );

Но не удача, у меня есть провел много дней на нем, и я новичок в Soap. Ребята, пожалуйста, проверьте, что я делаю не так. Спасибо всем заранее:)

...