php实现webservice
项目中使用到了webservice这里分享一下:
使用client端访问service端程序即可。
//client 客户端
client.php
<?php
try {
$client = new SoapClient(null, array(
"location" => "http://10.50.1.40/service/wsdl/server.php", //服务器端地址
"uri" => "test", //资源描述符服务器和客户端必须对应
"style" => SOAP_RPC,
"use" => SOAP_ENCODED
));
$result = $client->test($param1,$param2); //公开的接口
var_dump($result); //输出服务器端处理后的结果
}
catch (SoapFault $f){
echo "Error Message: {$f->getMessage()}";
}
?>
//service 服务器端
server.php
<?php
//define('WSDL_URL','hello.wsdl'); //定义WSDL文件路径
ini_set('soap.wsdl_cache_enabled','0'); //关闭WSDL缓存
//WSDL文件不存在时自动创建
//if(!file_exists(WSDL_URL))
//{
// require_once 'SoapDiscovery.class.php';
// $disco = new SoapDiscovery('Command','test');
// $str = $disco->getWSDL();
// file_put_contents(WSDL_URL,$str);
//}
//SOAP开启并接收Client传入的参数响应
//$server = new SoapServer(WSDL_URL);
$server=new SoapServer(null,array('uri' => "test"));
$server->setClass('Command');
$server->handle();
//测试定义公开的类
class Command {
public function __construct() {
}
/**
*
* Enter description here ...
*/
function test($param1,$param2){ //处理
//start
//数据处理
//end
//return 返回处理结果,客户端会收到return后的结果
}
}
?>