首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。
我测试的环境为:apache2.2.11 php5.2.10
做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serverSoap.php
$soap = new SoapServer( 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();
function minus_func( $i , $j ){
$res = $i - $j;
return $res;
}
//client端 clientSoap.php
try {
$client = new SoapClient( 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 = new SoapServer( null , array( 'uri' => "http://192.168.1.179/" , '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://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;
}
以上代码我已经测试通过。
转载:
http://hi.baidu.com/chesterphp/blog/item/d8ebaefbb0942417a9d3116c.html
我测试的环境为:apache2.2.11 php5.2.10
做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serverSoap.php
$soap = new SoapServer( 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();
function minus_func( $i , $j ){
$res = $i - $j;
return $res;
}
//client端 clientSoap.php
try {
$client = new SoapClient( 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 = new SoapServer( null , array( 'uri' => "http://192.168.1.179/" , '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://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;
}
以上代码我已经测试通过。