起首人人要容易理解了何谓webservice,接高去便作两个十分容易的例子,webservice仍是追没有合server端取client端。

尔测试的环境为:apache二.二.一一 php五.二.一0

作那个测试以前,要确认您的php设置装备摆设文件外已经经将soap扩展挨合,即extension=php_soap.dll;
OK 如今咱们去体验webservice

//server端 serverSoap.php

$soap = new SoapServer(null,array('uri'=>"http://一九二.一六八.一.一七九/"));//This uri is your SERVER ip.
$soap->addFunction('minus_func');                                                 //Register the function
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->handle();

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

//client端 clientSoap.php
try {
    $client = new SoapClient(null,
        array('location' =>"http://一九二.一六八.一.一七九/test/serverSoap.php",'uri' => "http://一二七.0.0.一/")
    );
    echo $client->minus_func(一00,九九);

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

那是客户端挪用效劳器端函数的例子,咱们再弄个class的。

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

$soap = new SoapServer(null,array('uri'=>"http://一九二.一六八.一.一七九/",'classExample'=>$classExample));
$soap->setClass('chesterClass');
$soap->handle();

class chesterClass {
    public $name = 'Chester';

    function getName() {
        return $this->name;
    }
}

//client端 clientSoap.php

try {
    $client = new SoapClient(null,
        array('location' =>"http://一九二.一六八.一.一七九/test/serverSoap.php",'uri' => "http://一二七.0.0.一/")
    );
    echo $client->getName();

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


以上代码尔已经经测试经由过程。
转载:http://hi.百度.com/chesterphp/blog/item/d八ebaefbb0九四二四一七a九d三一一六c.html

转自:https://www.cnblogs.com/wuhenke/archive/2010/09/30/1839424.html

更多文章请关注《万象专栏》