0

我是 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

谢谢你的时间。

4

1 回答 1

0

似乎wsdl url被阻止了。尝试就此联系供应商,或者从他们那里获取实际的 wsdl 文件。访问 SOAP API 之前的第一步是检查 wsdl 文件是否打开了外部 XML 结构

于 2019-01-28T11:54:00.377 回答