尝试遍历返回的地址列表,选择一个并提交到下一个php文件

时间:2018-06-25 07:06:47

标签: php soap wsdl

对此有一些麻烦。

这是SOAP WSDL API系统的一部分。 我向SOAP API发送了一个街道地址,它会查找街道地址,并向我返回有效地址的WSDL列表。我应该能够单击正确的结果,然后将其提交给我的第二个php文件以进一步处理并发送到SOAP API。

我得到了类似的信息(应该返回多个地址,但这是一个测试环境,因此只能获得该地址。在实时平台中,我将获得多个地址)。

<?xml version="1.0" encoding="ISO-8859-1"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <FindServiceProviderLocationIdResponse xmlns="http://www.aapt.com.au/FrontierLink/xsd">
      <serviceProviderLocationList>
        <serviceProviderLocationList>
          <serviceProvider>NBN</serviceProvider>
          <locationList>
            <addressInformation>
              <serviceProvider>NBN</serviceProvider>
              <locationId>LOC000000000002</locationId>
              <address>
                <streetNumber>6</streetNumber>
                <streetName>TEST</streetName>
                <streetType>STREET</streetType>
                <suburb>GLEBE</suburb>
                <state>NSW</state>
                <postcode>2037</postcode>
              </address>
              <displayAddress>6 TEST ST GLEBE NSW 2037</displayAddress>
            </addressInformation>
          </locationList>
        </serviceProviderLocationList>
      </serviceProviderLocationList>
    </FindServiceProviderLocationIdResponse>
  </soapenv:Body>
</soapenv:Envelope>

我的PHP代码的一部分,应该迭代这些结果,并为我提供链接列表,以供用户单击正确的地址(从而提交给下一个php文件进行处理)。

//Display a list of address options to the user
echo '<h1>Please select a location from the list</h1>';

//Squirt out the address list for the user to pick from
foreach($locidRes as $l){
    echo '<a href="qualify.php?locid='.$l['locationId'].'">'.$l['displayAddress'].'</a><br/>';
};

//When the user selects a location ID from the list, we then submit that to the next file -> qualify.php

echo '<hr/>';
echo json_encode($locidRes);

但是我收到此错误

请从列表中选择一个位置

致命错误:未捕获错误:无法将类型为stdClass的对象用作/var/www/html/getLocationId.php:70中的数组堆栈跟踪:#0 {main}引发了/var/www/html/getLocationId.php在第70行

预先感谢

史蒂夫

0 个答案:

没有答案