Как исправить ошибку WSDL синтаксического анализа мыла на HTTPS? - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь получить некоторые данные с удаленного сервера с помощью SOAP с использованием PHP 7.0, но я получаю следующую ошибку:

Объект SoapFault [message: protected] => SOAP-ERROR:Синтаксический анализ WSDL: не удалось загрузить из 'https://url.com'.

. Он отлично работает в браузере и при отключенном https.

Я уже пытался отключить SSLпроверка с помощью:


 'ssl' => [
        // set some SSL/TLS specific options
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]

И передать мой сертификат и ключ с помощью:

  'ssl' => [
        'local_cert' => $sslClientCert,
        'local_pk' =>  $sslClientKey'
    ]

Ни одна из них не работает.Я также проверил, что openssl включен на сервере с phpinfo().Как мне решить эту проблему?

Попытка

<?php

$url = "https://theurl.com";
$client = new SoapClient($url, [
        'stream_context' => stream_context_create([
        'ssl' => [
             "verify_peer"=>false,
             "verify_peer_name"=>false,
            ]
        ]),
        'trace' => 1,
        'exceptions' => true
    ]);

    $params = ['groups' => [
        [
            "courseid" => 3,
            "name" => "Group test",
            "description" => "Group test",
            "descriptionformat" => 1,
            "enrolmentkey" => "",
            "idnumber" => ""
        ]
    ]];

   $response = $client->__soapCall('core_group_create_groups',$params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...