我在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.根据我对谷歌的研究,几乎所有这些解决方案都是启用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
耽误您时间,实在对不起。
发布于 2019-01-28 11:54:00
看起来wsdl url被阻塞了。尝试就此事与供应商联系,或者从他们那里获得一个实际的wsdl文件。访问SOAP API之前的第一步是检查wsdl文件是否打开外部XML结构。
https://stackoverflow.com/questions/54376782
复制相似问题