php webservice实例(简单易懂)

来源:互联网 发布:网络写手怎么怎么签约 编辑:程序博客网 时间:2024/05/16 09:41
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。

我测试的环境为:apache2.2.11 php5.2.10

做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice

//server端 serverSoap.php

$soap=newSoapServer(null,array('uri'=>"http://192.168.1.179/"));//This uri is your SERVER ip.
$soap->addFunction('minus_func');                                                //Register the function
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->handle();

functionminus_func($i,$j){
    $res=$i-$j;
    return$res;
}

//client端 clientSoap.php
try{
    $client=newSoapClient(null,
        array('location'=>"http://192.168.1.179/test/serverSoap.php",'uri'=>"http://127.0.0.1/")
    );
    echo$client->minus_func(100,99);

}catch (SoapFault$fault){
    echo"Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}

这是客户端调用服务器端函数的例子,我们再搞个class的。

//server端 serverSoap.php
$classExample=array();

$soap=newSoapServer(null,array('uri'=>"http://192.168.1.179/",'classExample'=>$classExample));
$soap->setClass('chesterClass');
$soap->handle();

classchesterClass{
    public$name='Chester';

    functiongetName(){
        return$this->name;
    }
}

//client端 clientSoap.php

try{
    $client=newSoapClient(null,
        array('location'=>"http://192.168.1.179/test/serverSoap.php",'uri'=>"http://127.0.0.1/")
    );
    echo$client->getName();

}catch (SoapFault$fault){
    echo"Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}


以上代码我已经测试通过。