我有我的Web服务,我相信它很好,因为我一直在另一个项目中使用几乎相同的代码。
<?php
try
{
$input=$_POST['txtInput'];
$wsdl='http://localhost/Search.wsdl';
$options=array('cache_wsdl'=>WSDL_CACHE_NONE,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS);
echo "hi1";
$client=new SoapClient($wsdl,$options);
echo "hi2";
$response=$client->viewHealth($input);
echo "hi3";
if(isset($response->Health))
{
$HTMLDocument="<!Doctype html>
<html>
<head>
<title>Health</title>
<link rel='stylesheet' type='text/css' href='style.css'/>
</head>
<body>
<table border='2'>
<thead>
<tr id='tabs'>
<th>Title</th>
<th>Description</th>
<th>Symptoms</th>
<th>Treatments</th>
</tr>
</thead>
<tbody>";
foreach($response->Health as $record)
{
$HTMLDocument.="<tr><td>".$record->Title."</td>";
$HTMLDocument.="<td>".$record->Description."</td>";
$HTMLDocument.="<td>".$record->Symptoms."</td>";
$HTMLDocument.="<td>".$record->Treatments."</td></tr>";
}
$HTMLDocument.="</tbody></table></body></html>";
echo $HTMLDocument;
}
else
{ }
}
它回显hi1,但不回显hi2,hi3。我不知道出了什么问题。有人可以帮忙吗?
添加一个
catch (Exception $e) {
echo $e->getMessage();
}
在 try{} 之后,查看抛出的异常。我假设 wsdl 无法访问。