需要用到的文件:
1.客户端文件 client.php
2.服务端文件 service.php
3.实现功能的类文件 Feature.php
4.生成wsdl的文件工具类 SoapDiscovery.class.php
5.结合3和4来生成wsdl文件的类 create_wsdl.php
使用方法总结:
首先把上面的文件分为两部分来看(1,2)和(3,4,5);
(3,4,5)三个文件的最目的就是为了生成一个wsdl文件以便于在(1,2)使用;
其实就是 客户端 服务端 模式,多了个wsdl文件;
最后打开client.php就是在使用这个接口了。
各部分代码:
1.客户端文件 client.php
<?php
ini_set('soap.wsdl_cache_enabled','0');//关闭缓存
$soap=new SoapClient('http://127.0.0.1/webservice/Service.php?wsdl');
echo $soap->addNum(6,2);
2.服务端文件 service.php
<?php
$server=new SoapServer('Feature.wsdl',array('soap_version'=>SOAP_1_2));
$server->setClass('Feature');//注册Feature类的所有方法
$server->handle();//处理请求
3.实现功能的类文件 Feature.php
<?php
class Feature
{
public function sayHello()
{
echo 'hello world';
}
public function addNum($a,$b)
{
return $a+$b;
}
}
4.生成wsdl的文件工具类 SoapDiscovery.class.php
这个放在百度云了
5.结合3和4来生成wsdl文件的类 create_wsdl.php
<?php
include_once('Feature.php');
include_once('SoapDiscovery.class.php');
$wsdl=new SoapDiscovery('Feature','soap');//第一参数为类名,也是生成wsdl的文件名Feature.wsdl,第二个参数是服务的名字可以随便写
$wsdl->getWSDL();
?>
另附:
成功的demo放在我的百度云中。