我想从SOAP API获取数据。更多细节在这里: https://iskam-web.zcu.cz/WebServices/Menus.asmx?op=Facilities
我的PHP代码如下所示:
$soap = new SoapClient("https://iskam-web.zcu.cz/WebServices/Menus.asmx?wsdl");
$xml = $soap->Facilities(array());
print "<pre>";
print_r($xml);
print "</pre>";
但我得到的答案看起来像这样:
所以这意味着结果是空的。有什么我做错了或API不起作用?
谢谢!
答案 0 :(得分:1)
wsdl中的设施方法它没有指定任何数据,甚至不需要传递什么数据。只是你没有做错任何事,但Facilities方法返回一个空对象。意思是没有数据。 这是来自Facilities:
的xml响应<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<FacilitiesResponse xmlns="http://aps-brno.cz/"/>
</soap:Body>
</soap:Envelope>
在这种情况下,我建议从网络服务的支持中获得一些支持。
如果您尝试拨打
$soap = new SoapClient("https://iskam-web.zcu.cz/WebServices/Menus.asmx?wsdl");
$response = $soap->DistributionPeriods(['FacilityID' => '123123123123123-123123123-123123123', 'Day' => '4']);
print "<pre>";
print_r($response);
print "</pre>";
将要求您传递格式为:Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
的设施ID。这样我相信你会得到一些数据。