【发布时间】:2016-08-28 05:27:34
【问题描述】:
我有一个带有 nusoap 库的 Web 服务,并且 nusoap 在 php 5.3 和 5.5 上工作正常,但目前我正在使用 php 5.6 并在使用 nusoap 库时遇到以下错误:
Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0
我对这个问题进行了很多研究,但没有成功。
我试图找到与 php 5.6 兼容的 nusoap 版本,但找不到任何解决方案,最终决定使用 SoapServer 和 SoapClient 并使用以下代码进行测试:
<?php
class MyAPI {
function hello() {
return "Hello";
}
}
$options=array('uri'=>'http://xx.com:800/webservice/');
$server = new SoapServer(NULL,$options);
$server->setClass('MyAPI');
$server->handle();
?>
并作为客户端文件:
<?php
$options = array('location' => 'http://xx.com:800/webservice/server.php',
'uri' => 'http://xx.com:800/webservice/');
$api = new SoapClient(NULL, $options);
echo $api->hello();
?>
但是当我调用客户端文件时遇到以下错误:
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in PATH\webservice\client.php:11 Stack trace: #0 PATH\webservice\client.php(11): SoapClient->__call('hello', Array) #1 PATH\webservice\client.php(11): SoapClient->hello() #2 {main} thrown in PATH\webservice\client.php on line 11
你能给我好的和最好的解决方案吗?
【问题讨论】:
标签: php soap-client nusoap