首页 / PHP / PHP解析SOAP响应问题
PHP解析SOAP响应问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP解析SOAP响应问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2101字,纯文字阅读大概需要4分钟。
内容图文
![PHP解析SOAP响应问题](/upload/InfoBanner/zyjiaocheng/658/4d6ba6a1d657464ba42df9033e5971e3.jpg)
我创建了以下PHP脚本,以显示我们使用的SOAP API的属性列表.
当我们有多个广告属性时,该脚本可以正常工作,但是当我们只有一个属性广告时,该脚本不显示任何内容.
谁能告诉我我在做错什么,还是简单的检查就能解决问题?
我的代码是:
$wsdl = "http://portal.letmc.com/PropertySearchService.asmx?WSDL";
$client = new SoapClient($wsdl, array ("trace"=>1, "exceptions"=>0));
$strClientID = "{xxxx-xxxx-xxxx-xxxx}";
$strBranchID = "{xxxx-xxxx-xxxx-xxxx}";
$nMaxResults = "5";
$nRentMinimum = 100;
$nRentMaximum = 900;
$nMaximumTenants = 5;
$parameters = array( "strClientID"=>$strClientID,
"strBranchID"=>$strBranchID,
"nMaxResults"=>$nMaxResults,
"nRentMinimum"=>$nRentMinimum,
"nRentMaximum"=>$nRentMaximum,
"nMaximumTenants"=>$nMaximumTenants
);
$values = $client->SearchProperties($parameters);
if($values != '')
{
echo "<table>";
echo '<tr>
<th>Apartment</th>
<th class="center">Bedrooms</th>
<th>Rent</th>
<th>Description</th>
</tr>';
foreach ($values->SearchPropertiesResult->PropertyInfo as $message)
{
$address = $message->Address1;
$rooms = $message->MaxTenants;
$rent = $message->Rent;
$description = $message->Description;
echo '<tr>';
echo '<td>'. $address .'</td>
<td class="center">'. $rooms .'</td>
<td>'. $rent .'</td>
<td>'. $description .'</td>';
echo '</tr>';
}
echo '</table>';
}
else
{
echo '<p><strong>Sorry, we have no properties available.</strong></p> <p>Please register your details on the right and we will let you know as soon as an apartment comes available.</p>';
}
解决方法:
这在.NET Web服务上很常见.如果有多个结果,则为数组,但如果只有一个结果,而不是具有一个结果的数组,则结果本身将显示在PropertyInfo中.
解决方案是测试是否是数组,如果不是,则将对象移到数组中,以便对单个结果和结果数组以相同的方式使用它.
在SearchProperties()调用之后和foreach之前添加此代码.
if(!is_array($values->SearchPropertiesResult->PropertyInfo))
{
$values->SearchPropertiesResult->PropertyInfo = array($values->SearchPropertiesResult->PropertyInfo);
}
此后,$values-> SearchPropertiesResult-> PropertyInfo现在是一个数组,而不管它只有一个或多个属性.这样您的foreach就可以了.
内容总结
以上是互联网集市为您收集整理的PHP解析SOAP响应问题全部内容,希望文章能够帮你解决PHP解析SOAP响应问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。