本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1.开启php的soap扩展
2.服务器端,目录./api 下建立Server.php文件
Class PersonInfo
{
/**
* 返回姓名
* @return string
*
*/
public function getName(){
return "My Name is Caffrey";
}
}
$ser = 'Server.php';
$location = 'http://'.$_SERVER['HTTP_HOST'].'/api/'.$ser;
//wsdl方式提供web service,如果生成了wsdl文件则可直接传递到//SoapServer的构造函数中
$s = new SoapServer(null,array("location"=>$location,"uri"=>$ser));
$s -> setClass("PersonInfo");
$s -> handle();
3.客户端,目录./api 建立 Client.php 文件
try{
$ser = 'Server.php';
$location = 'http://'.$_SERVER['HTTP_HOST'].'/api/'.$ser;
$soap = new SoapClient(null,array("location"=>$location,"uri"=>$ser));
//两种调用方式,直接调用方法,和用__soapCall简接调用
$result1 = $soap->getName();
$result2 = $soap->__soapCall("getName",array());
echo $result1."<br/>";
echo $result2;
}catch(SoapFault $e){
echo $e->getMessage();
}catch(Exception $e){
echo $e->getMessage();
}
4.返回结果:
My Name is Caffrey
My Name is Caffrey