PHP SOAP请求 - 获取空结果

时间:2017-10-14 11:59:49

标签: php api soap

我想从SOAP API获取数据。更多细节在这里: https://iskam-web.zcu.cz/WebServices/Menus.asmx?op=Facilities

以下是请求信息: enter image description here

我的PHP代码如下所示:

    $soap = new SoapClient("https://iskam-web.zcu.cz/WebServices/Menus.asmx?wsdl");
    $xml = $soap->Facilities(array());

    print "<pre>";
    print_r($xml);
    print "</pre>";

但我得到的答案看起来像这样:

enter image description here

所以这意味着结果是空的。有什么我做错了或API不起作用?

谢谢!

1 个答案:

答案 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。这样我相信你会得到一些数据。