uncaught Исключение SoapFault: не удалось загрузить внешний

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

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost/bms/server.php?wsdl' : failed to load external entity "http://localhost/bms/server.php?wsdl" in C:\inetpub\wwwroot\bms\client.php:12 Stack trace: #0 C:\inetpub\wwwroot\bms\client.php(12): SoapClient->SoapClient('http://10.1.65....') #1 {main} thrown in C:\inetpub\wwwroot\bms\client.php on line 12.

Согласно моим исследованиям в Google, почти все эти решения - включить Soap, xml (с установленной библиотекой libxml) и openssl, и все они включены, и я не могу получить доступ к / просмотреть код сервера из-за некоторое ограничение.

что мне не хватает?

ниже мой код клиента

<?php

//client.php

$opt = array(
    'trace' => true
);
echo "1";
$client = new SOAPClient('http://localhost/bms/server.php?wsdl', $options);
echo "2";
//////////
$msg = "hello World";
$subj = "greating";
$recv  ="user@email.com";
$sentType = 2;
$sendDate = date("d/m/Y H:i:s");
$createdBy = "admin@email.com";
////////
$client->DoSendMessage(
    ['MsgContent' => $msg, 'Subject' => $subj,'Receiver' => $recv,
    'SendType' => $sentType,'SendDate' => $sendDate,
    'CreatedBy' => $createdBy]);
?>

рабочая среда: IIS 10, PHP 7.3

Спасибо за ваше время.

1 ответ

Похоже, URL-адрес wsdl заблокирован. Попробуйте связаться с продавцом по этому поводу или, возможно, получить фактический файл wsdl от них. Первым шагом перед использованием SOAP API было бы проверить, открывает ли файл wsdl внешнюю структуру XML.

Другие вопросы по тегам