2016-08-28 7 views
2

Webサービスがnusoapライブラリであり、nusoapがPHP 5.3と5.5でうまく動作しますが、現時点では私はPHP 5.6で作業中です。 nusoapライブラリを使用しているときにエラーが発生しました。webserviceをphp5.6(php soap)で作成し、php 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 

あなたは私に良い、最良の解決策を教えていただけますか?

答えて

2

PHP5で$ HTTP_POST_RAW_DATAは非推奨です file_get_contents( "php:// input");を使用する必要があります。

関連する問題