几天来,我一直有一个错误,没有办法找到一个解决方案来修复这个问题。
<SOAP-ENV:Envelope><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>WSDL</faultcode><faultstring>SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.domain.com/?wsdl' : Premature end of data in tag html line 1
作为参考,这个wsdl在我们的生产环境中工作,当我试图让它在我的开发环境中工作时,我们得到了这个错误。
- 首先,我试着用SOAP UI尝试这个文件,得到了完全相同的错误。
- 我试图利用它与外部PHP脚本,同样的错误。
例如:
$wsdl = "http://www.domain.com/?wsdl";
$service = new Soapclient($wsdl);
$params = array('username' => 'xxx', 'password' => 'xxx');
var_dump($service->__soapCall('myFunction', $params));
- 我试着使用NuSOAP库,就像有些人似乎用这个来修复它一样,它不适合我。
- 我检查了防火墙
- 我尝试了这些解决方案https://bugs.php.net/bug.php?id=49226没有工作
- 我检查了我的php.log:
PHP致命错误:SOAP错误:正在解析WSDL:无法从“http://www.domain.com/?wsdl”加载:第762行上的/data/srv/www/.../library/Zend/Soap/Server. php中标记html第1行的数据过早结束
对此进行了一些搜索,但没有找到任何解决方案。
我错过了什么吗?你知道怎么解决这个问题吗?如果你需要更多的信息,尽管问。
提前感谢您的帮助。
1条答案
按热度按时间n53p2ov01#
从你的服务器加载API。下载wsdl/xml到你的服务器,把你的$wsdl =〉指向服务器文件/