PHP SOAP 错误:Uncaught SoapFault exception:[Client] looks like we got no XML document in


   
环境php5  调用web service服务。
 
 
返回错误
 
Fatal error: Uncaught SoapFault exception:[Client] looks like we got no XML document inE:\apache\www\soapclient2.php:5 Stack trace: #0 [internalfunction]: SoapClient->__call('faint', Array) #1E:\apache\www\soapclient2.php(5): SoapClient->faint('??????') #2{main} thrown in E:\apache\www\soapclient2.php on line 5
 

出现这种情况后,如果你已经很确定程序是没问题的,soap环境这些的都没问题的话,那么就可以考虑是不是下面我罗列的情况了:
(1)在 soap 服务程序中<?php前面有特殊字符""存在导致.去掉后程序恢复正常;
(2)很可能是在你的服务端有多余的空格输出,尝试删除多余的空格,或者去掉服务端代码中结尾处的 ‘?>’。
(3)soap返回的内容里面有特殊字符,或者说异常字符,或者说是编码格式不对的字符。去掉它或改掉它就好了。我就是出这个问题的,搞了3天才找到是什么问题。
问题的症状是:
我在服务器端通过程序往数据库的t_mail表中添加数据,添加成功。然后client端(客户端)通过无WSDL的方式来得到服务器端数据库中该表的数据。然后删除得到的服务器端数据。返回1-18条记录是成功的。但是当返回第19条数据的时候就报错了,错误如上。之前以为是删除表中数据把键值对搞错了,但是不是,又怀疑是19的数据量大了,但是又否定了。看数据库,19 的数据存在。就搞不懂了。
折腾了很久偶然看到网上说有可能是什么特殊字符的问题,我就去看那条数据的内容,还真有两个字符是乱码的。改过来,在客户端读取,读到了。
呵呵!ok,留下这篇博客给犯同样错误的人看看,也作为自己的知识又增长的标记吧!

你可能感兴趣的:(apache,exception,PHP,xml,数据库,SOAP)