前段时间在webservice的问题上纠结了很长时间,本来想写在thinkphp的框架里面,可是怎么也实现不了,目前为止也仅仅是学会的没有框架的接口的开发。

在此资源共享一下步骤:

首先我创建的文件有:

api.php  api的接口类文件

api.wsdl  我创建产生的最后要调用的接口文件

cometrue.php 注册service api类内容的所有内容的执行文件

creat_wsdl.php  创建wsdl文件的执行方法文件

SoapDiscovery.class.php  必须要调用的soap类文件(可在网上查询下载)

第一步 :创建一个service的文件夹专门存放您的api接口项目

第二步:下载SoapDiscovery.class.php类文件,放在您的service文件夹里面

第三步:在service文件夹下面创建您自己api接口类文件api.php,文件内容示例如下:

<?php
class api{
//我的测试接口方法
public function test(){
return "hello world";
}
}
?>

好了,我们的接口写完之后,开始生成关于这个接口的wsdl文件

第四部:写一个生成wsdl文件的执行程序,在这里我来新建一个文件 creat_wsdl.php,同样放在service同级目录下面,内容如下:

<?php
include("api.php");
include("SoapDiscovery.class.php");
$disc = new SoapDiscovery('api','service');//api类文件名,service接口目录
$disc->getWSDL();
?>

第五步:执行creat_wsdl.php文件

然后,在service文件夹下面就多了一个api.wsdl的文件,如下图所示:

现在还没有完奥~

第六步:注册api类文件中的所有方法,在service文件夹下新建一个注册类文件的执行文件命名为:cometrue.php,文件内容如下:

<?php
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ##此处的Service.wsdl文件是上面生成的
$server->setClass("api"); //注册Service类的所有方法
$server->handle();
?>

建完之后,执行该文件,此时便将类文件中所有的内容注册完成了,我们来测试一下这个接口

第七步 :在api的类文件api.php的最下面,加上调用的程序,加上之后api.php的文件内容如下:

<?php
class api{
//我的测试接口方法
public function test($a){
return $a;
}
}
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ##此处的Service.wsdl文件是上面生成的
$server->setClass("api"); //注册Service类的所有方法
$server->handle();
?>

第七步:测试,在service外随意的位置(只要能访问得到)创建测试文件 命名为:test.php,文件内容如下:

<?php
$x = new SoapClient("http://rbac.local/service/api.php?wsdl"); //这里的链接换成你自己的访问链接
echo $x->test('ok');
?>

webservice的简单示例的实现步骤的更多相关文章

  1. PHP实现WebService的简单示例和实现步骤

    首先我创建的文件有: api.php api的接口类文件 api.wsdl 我创建产生的最后要调用的接口文件 cometrue.php 注册service api类内容的所有内容的执行文件 creat ...

  2. 【C#】 创建、部署和调用WebService的简单示例

    C# 创建.部署和调用WebService的简单示例 <div class="postBody"> <div id="cnblogs_post_body ...

  3. C# 创建、部署和调用WebService的简单示例 (转)

    C# 创建.部署和调用WebService的简单示例(转)  转自 https://www.cnblogs.com/Brambling/p/7266482.html  webservice 可以用于分 ...

  4. C# 创建、部署和调用WebService的简单示例

    废话不多说,下面开始创建一个简单的webservice的例子.这里我用的是Visual Studio 2015开发工具. 首先创建一个空的Web应用程序. 然后鼠标右键点击项目,选择 添加>新建 ...

  5. [xfire]使用xfire开发webservice的简单示例

    目前项目上有用到xfire,所以临时看了些xfire的资料和示例,自己照着写了一个简单示例. xfire在2007年后已经停止更新,正式更名为apache cxf,也可以说是xfire2.0. xfi ...

  6. C# 创建WebService的简单示例

    工具Visual Studio 2013 1.创建一个空的Web应用程序. 2.鼠标右击项目,添加->新建项 选择Web服务(ASMX),点击添加.一个简单的webservice就创建完成了.

  7. c#webservice的简单示例

    webservice.就概念上来说,可能比较复杂,不过我们可以有个宏观的了解:webservice就是个对外的接口,里面有 函数可供外部客户调用(注意:里面同样有客户不可调用的函数).假若我们是服务端 ...

  8. asp.net WebService的一个简单示例

    不同的系统之间经常会需要数据的交换对接,而Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范 ...

  9. C# 创建、部署和调用WebService简单示例

    webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice的例子.这里我用的是Visual Studio 201 ...

随机推荐

  1. Nginx 利用 X-Accel-Redirect response.setHeader 控制文件下载

    nginx.conf location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP ...

  2. ACM 变态最大值

    变态最大值 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解 ...

  3. 【BZOJ1051】1051: [HAOI2006]受欢迎的牛 tarjan求强连通分量+缩点

    Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认 ...

  4. U-Boot编译过程解析

    解压u-boot-2010.03.tar.bz2就可以得到全部U-Boot源程序.在顶层目录下有29个子目录,分别存放和管理不同的源程序.这些目录中所要存放的文件有其规则,可以分为3类. ● 与处理器 ...

  5. Spring_手动获取Bean

    1.SpringContextHolder.java package com.lkb.util; import org.springframework.context.ApplicationConte ...

  6. Flex Flash Player回声消除的最佳方法

    Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提 ...

  7. 树莓派(Raspberry Pi)修改时区

    1.安装ntp sudo apt-get install ntpdate 2.修改时区 tzselect 3.选择自己的时区 1)选择大洲 2)选择国家 3)选择城市 4)选择YES 5)或者使用命令 ...

  8. Enumerators and Enumerable

    Next week task is to learn how generic enumeration interface works, try to build a sample and write ...

  9. ubuntu su Authentication failure

    这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端中输入如下命令: sudo passwd Password:你当前的密码 Enter ...

  10. springMVC+spring+hibernate注解上传文件到数据库,下载,多文件上传

    数据库 CREATE TABLE `annex` ( `id` bigint() NOT NULL AUTO_INCREMENT, `realName` varchar() DEFAULT NULL, ...