admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:cellpad)

这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本

知识、webservice服务端例子、webservice客户端例子,需要的朋友可以参考下

作为开发者来讲,要想写webservice接口或者调用别人的webservice接口,首先需

要了解什么是webservice。简单说, webservice就是一些站点开放一些服务出来, 也可以

是你自己开发的service, 也就是一些方法, 通过url,指定某一个方法名,发出请求,站点里的

这个服务(方法),接到你的请求,根据传过来的参数,做一些处理,然后把处理后的结果以xml

形式返回来给你,你的程序就解析这些xml数据,然后显示出来或做其它操作。

写webservice需要了解:基础的 web services 平台是 xml + http;另外web

services 平台的元素:soap (简易对象访问协议),uddi (通用描述、发现及整合),wsdl

(web services 描述语言);任何webservice都包括客户端和服务端。下面以实例讲解如何

用php写webservice接口让别人调用:

首先需要建一个.wsdl文件,那么php如何建这个文件呢。有两种方式可以实现,一

种是直接用zend studio工具生成;另一种就是php根据自动生

成wsdl文件;具体哪一种根据自己情况选择,我一般用的是前者这样比较快速。下面写一

下用类如何生成wsdl文件,首先需要上网上下载那个类文件,然后引入类文件后,看如下

代码:

creat_

代码如下:

include_once('');

include_once('');

$wsdl=new soapdiscovery('service','soap');//第一参数为类名,也是生成wsdl的

文件名,第二个参数是服务的名字可以随便写

$wsdl->getwsdl();

>

这样运行creat_文件就可以生成wsdl文件了。是不是很简单

任何一个webservice都需要和一个实现类绑定的。也就是说别人调用的wsdl文件其

实真正其作用的就是实现类中的方法;如下代码为服务端类文件

代码如下:

class service

{

public function hello()

{

echo 'hello good';

}

public function add($a,$b)

{

return $a+$b;

}

}

$server=soapserver('',array('soap_version'=>soap_1_2));

$server->setclass('service');//注册service类的所有方法

$server->handle();//处理请求

>

写好服务端和wsdl文件后那么就需要客户端调用了。请看客户端调用代码:

代码如下:

ini_set('_cache_enabled','0');//关闭缓存

$soap=new soapclient('127.0.0.1/soap/?wsdl');

echo $soap->add(1,2);

//echo $soap->_soapcall('add',array(1,2))//或者这样调用也可以

>

更多信息请查看IT技术专栏


本文标签: 文件 需要 调用 服务端 客户端