php实现webservice

2013.08.9 No Comments

项目中使用到了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后的结果

}
}
?>

Related Posts:

评论已关闭。