zoukankan      html  css  js  c++  java
  • webservice接口

      webservice。一些站点开放一些服务出来,(也可以是你自己开发的Service) 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到你的请求,根据传过来的参数,做一些处理,然后把处理后的结果以XML形式返回来给你,你的程序就解析这些XML数据,然后显示出来或做其它操作。

    写webservice需要了解:基础的 Web Services 平台是 XML + HTTP;另外Web services 平台的元素:SOAP (简易对象访问协议),UDDI (通用描述、发现及整合),WSDL (Web services 描述语言);任何webservice都包括客户端和服务端。下面以实例讲解如何用php写webservice接口让别人调用:

    1、首先需要建一个.wsdl文件,有两种方式可以实现,一种是直接用zend studio工具生成;另一种就是php根据SoapDiscovery.class.php自动生成wsdl文件;具体哪一种根据自己情况选择,我一般用的是前者这样比较快速。下面写一下用类如何生成wsdl文件,首先需要上网上下载那个类文件(creat_wsdl.php),然后引入类文件后,看如下代码:

    <?php
    include_once('Service.php');
    include_once('SoapDiscovery.class.php');
    $wsdl=new SoapDiscovery('Service','soap');//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写
    $wsdl->getWSDL();
    ?>

    这样运行creat_wsdl.php文件就可以生成wsdl文件了。

    2、其次就是要实现方法,返回数据。代码如下(Service.php):

    <?php
    class Service
    {
    public function Hello()
    {
    echo 'hello world';
    }
    public function Add($date)
    {
    return $date;
    }
    }
    $server=SoapServer('Service.php',array('soap_version'=>soap_1_2));
    $server->setClass('Service');//注册Service类的所有方法
    $server->handle();//处理请求
    ?>

    这样就实现了站点webservice接口的建立。

    接下里就需要客户端建立脚本去调用数据了:

    <?php
    ini_set('soap.wsdl_cache_enabled','0');//关闭缓存
    $soap=new SoapClient('http://127.0.0.1/soap/Service.php?wsdl');
    echo $soap->Add('haha');
    //echo $soap->_soapCall('Add',array('haha'))//或者这样调用也可以
    ?>
  • 相关阅读:
    【QT 学习笔记】 一、 VS2015+ QT环境安装
    Ubuntu16.04 + caffe + cuda 环境搭建
    【Caffe学习笔记】一 、环境安装 Caffe + cuda + windows10 + VS2015 安装笔记, win7也适用
    【CNN】 吴恩达课程中几种网络的比较
    【图像处理】二 高斯滤波及其加速方法
    【图像处理 】 一、OSTU分割法
    1028: C语言程序设计教程(第三版)课后习题8.2
    函数和带参的宏,从三个数中找出最大的数
    Last Defence (run time error)
    Penalty
  • 原文地址:https://www.cnblogs.com/lgqtecng/p/6442110.html
Copyright © 2011-2022 走看看