当前位置:Gxlcms > PHP教程 > php5.5.12下调试SOAP报错信息

php5.5.12下调试SOAP报错信息

时间:2021-07-01 10:21:17 帮助过:18人阅读

这篇文章介绍的内容是关于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 报错信息 的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行