这篇文章介绍的内容是关于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()); }
客户端和服务器端都加上具体的地址才行
相关推荐:
以上是php5.5.12 下调试 SOAP 报错信息 的详细内容。更多信息请关注PHP中文网其他相关文章!