让大家简单易懂的了解webservice.

首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。

我测试的环境为:apache2.2.15 php 5.2.13

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

//server端 serverSoap.php

$soap = new SoapServer(null,array(‘uri’=>”https://192.168.1.68/”));//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’ =>”https://192.168.1.68/test/serverSoap.php”,’uri’ => “https://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 = new SoapServer(null,array(‘uri’=>”https://192.168.1.68/”,’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’ =>”https://192.168.1.68/test/serverSoap.php”,’uri’ => “https://127.0.0.1/”)
);
echo $client->getName();

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

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