この記事の内容は、php5.5.12 での SOAP エラー メッセージのデバッグに関するもので、必要な友人に共有します。今日、SOAP デバッグを使用したところ、次のエラーが発生しました。
{ "respcode": 202, "respmsg": "looks like we got no XML document", "data": "" }
色々な方法を見つけましたが、解決できませんでした。私のコードは次のとおりです:
サーバー側:
function __construct() { parent::__construct(); $this->load->model('baogaolist'); $this->server = new SoapServer(null, ['uri' => '']); } function checkreport() { $this->load->model('baogaolist'); $this->server->setObject($this->baogaolist); $this->server->handle(); }
クライアント側呼び出し:
$url = $this->config->item('car_battery_check_url'); //获取信息地址 try { $a = new SoapClient(null, [ 'location' => $url . '/report/checkreport', 'uri' => '' ]); $detail = $a->get_detail($this->storeid, $check_id); } catch (SoapFault $e) { resp_msg(202,$e->getMessage()); }
php5.4.44でデータは正常に取得できます。環境では動作しますが、php5.5.12 では動作しません。エラーを報告し続けます
最後に、php5.5.12 環境で、構成 URI を完了して問題を解決します
function __construct() { parent::__construct(); $this->load->model('baogaolist'); $this->server = new SoapServer(null, ['uri' => 'http://172.16.4.29:8000/index.php/report/checkreport']); }
try { $a = new SoapClient(null, [ 'location' => $url . '/report/checkreport', 'uri' => 'http://172.16.4.29:8000/index.php/report/checkreport' ]); $detail = $a->get_detail($this->storeid, $check_id); } catch (SoapFault $e) { resp_msg(202,$e->getMessage()); }
クライアントとサーバーの両方に特定のアドレスのみを追加します
関連推奨事項:
PHP は SOAP を通じて WebService を実装します以上がphp5.5.12 での SOAP エラー メッセージのデバッグの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。