首先配置下PHP的soap环境支持:

找到php.ini文件
;extension=php_soap.dll

;always_populate_raw_post_data = -1

删除掉";" ,启用这两个扩展,重启apache服务器。

服务端:soap.php

<?php
function getServiceIP(){
    return "1.1.1.1";
}
$soap = new SoapServer(null,array('uri'=>"vinson"));
$soap->addFunction('getServiceIP');
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->handle();
?>

客户端:调用

try {
    $client = new SoapClient(null,
        array('location' =>"http://192.168.1.110/soap.php",'uri' => "vinson",'trace' =>1)
    );
    echo $client->getServiceIP();
} catch (SoapFault $fault){
    echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}

当中的uri是匹配标志,两边要一致,随便什么值

location自然是需要调用的soap文件,此文件可置于另外一个网站里面

楼主一直提示

Error: Client, string: looks like we got no XML document

近乎抓狂,原来是有个扩展未开启。

;always_populate_raw_post_data = -1

 

posted on 2016-06-16 22:38  vinsonLu  阅读(756)  评论(0编辑  收藏  举报