我正在创建一个Web服务(我的服务器是ubuntu vm,不是使用WAMP或XAMPP)但有问题=异常:看起来我们没有XML文档。我已经搜索过互联网,但主要是肥皂异常,但我没有肥皂故障。这是一个普通的例外。它回应你好,但没有回应hi4,所以我猜问题可能在函数viewHealthDetails(在我的wsdl中),但我几乎可以肯定我的wsdl是正确的,因为我之前在另一个项目中使用过它。请帮忙。
if(isset($_POST['txtInput']))
{
try
{
$input=$_POST['txtInput'];
$wsdl='.../Search.wsdl';
$options=array('cache_wsdl'=>WSDL_CACHE_NONE,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS);
$client=new SoapClient($wsdl,$options);
echo "hi";
$response=$client->viewHealthDetails($input);
echo "hi4";
if(isset($response->HealthDetails))
{
$HTMLDocument="<!Doctype html>
// My html code
}
else
{
echo "<h1>This Health type is not in our categories!</h1>";
}
}
catch(Exception $e)
{
echo 'Exception:'.$e->getmessage();
}
catch (SOAPFAULT $exception)
{
echo 'SOAP Exception: '.$exception->getMessage();
}
}
else
{
}
答案 0 :(得分:0)
由于PHP无法正确处理响应XML,因此抛出此错误。要对响应进行故障排除,请将options数组设置为:
$options=array('cache_wsdl'=>WSDL_CACHE_NONE,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS, 'trace' => 1);
然后在发出请求后使用var_dump($client->__getLastResponse());
。这将允许您检查返回的XML并验证它的正确性。您可能会发现还有其他输出正在破坏XML。