最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中soap的用法實(shí)例

 更新時(shí)間:2014年10月24日 10:10:33   投稿:shichen2014  
這篇文章主要介紹了PHP中soap的用法,實(shí)例講述了PHP使用soap的兩種方式,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP中soap的用法,分享給大家供大家參考。具體用法分析如下:

PHP 使用soap有兩種方式。

一、用wsdl文件

服務(wù)器端:

復(fù)制代碼 代碼如下:
<?php
class service
{
  public function HelloWorld()
   {
      return  "Hello";
   }
  public  function Add($a,$b)
   {
      return $a+$b;
   }
}
$server=new SoapServer('soap.wsdl',array('soap_version' => SOAP_1_2));
$server->setClass("service");
$server->handle();
?>

資源描述文件,可以用工具(zend studio)生成。其實(shí)就是一個(gè)xml文件。
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/interface/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="soap" targetNamespace="http://localhost/interface/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://localhost/interface/">
      <xsd:element name="HelloWorld">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="in" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="HelloWorldResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="out" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="Add">
       <xsd:complexType>
        <xsd:sequence>
         <xsd:element name="in" type="xsd:int"></xsd:element>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:element>
      <xsd:element name="AddResponse">
       <xsd:complexType>
        <xsd:sequence>

         <xsd:element name="out" type="xsd:int"></xsd:element>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>
   <wsdl:message name="AddRequest">    <wsdl:part name="a" type="xsd:int"></wsdl:part>
   <wsdl:part name="b" type="xsd:int"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="AddResponse">
   <wsdl:part name="c" type="xsd:int"></wsdl:part>
  </wsdl:message>
  <wsdl:portType name="TestSoap">     <wsdl:operation name="Add">
     <wsdl:input message="tns:AddRequest"></wsdl:input>
     <wsdl:output message="tns:AddResponse"></wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="soapSOAP" type="tns:TestSoap">
   <soap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http" />
   <wsdl:operation name="Add">
    <soap:operation soapAction="http://localhost/interface/Add" />
    <wsdl:input>
     <soap:body use="literal"
      namespace="http://localhost/interface/" />
    </wsdl:input>
    <wsdl:output>
     <soap:body use="literal"
      namespace="http://localhost/interface/" />
    </wsdl:output>
   </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="TestSoap">
    <wsdl:port binding="tns:soapSOAP" name="soapSOAP">
      <soap:address location="http://localhost/interface/myservice.php"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>


客戶端調(diào)用:
復(fù)制代碼 代碼如下:
<?php
$soap = new SoapClient('http://localhost/interface/soap.wsdl');
echo $soap->Add(1,2);
?>

二、不用wsdl文件

服務(wù)器端:

復(fù)制代碼 代碼如下:
<?php
class service
{
  public function HelloWorld()
   {
      return  "Hello";
   }
  public  function Add($a,$b)
   {
      return $a+$b;
   }
}
$server=new SoapServer(null,array('uri' => "abcd"));
$server->setClass("service");
$server->handle();
?>

客戶端:
復(fù)制代碼 代碼如下:
<?php
try{
 $soap = new SoapClient(null,array(
   "location" => "http://localhost/interface/soap.php",
   "uri"      => "abcd",  //資源描述符服務(wù)器和客戶端必須對(duì)應(yīng)
   "style"    => SOAP_RPC,
   "use"      => SOAP_ENCODED
      ));

 echo $soap->Add(1,2);
}catch(Exction $e){
 echo print_r($e->getMessage(),true);
}
?>

希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 需要注意的幾個(gè)PHP漏洞小結(jié)

    需要注意的幾個(gè)PHP漏洞小結(jié)

    幾個(gè)PHP漏洞小結(jié),從事php開(kāi)發(fā)的朋友可以參考下
    2012-02-02
  • php 設(shè)計(jì)模式之 單例模式

    php 設(shè)計(jì)模式之 單例模式

    其實(shí)在工廠模式就已經(jīng)應(yīng)用了單例模式,從始到終它就只有一個(gè)工廠,單例模式不需要新建實(shí)例?,F(xiàn)在寫(xiě)一個(gè)簡(jiǎn)單的例子。
    2008-12-12
  • 淺析PHP substr,mb_substr以及mb_strcut的區(qū)別和用法

    淺析PHP substr,mb_substr以及mb_strcut的區(qū)別和用法

    本篇文章是對(duì)PHP中的substr,mb_substr以及mb_strcut區(qū)別和用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php中jQuery插件autocomplate的簡(jiǎn)單使用筆記

    php中jQuery插件autocomplate的簡(jiǎn)單使用筆記

    剛接觸jQuery,時(shí)間不太長(zhǎng),以下文章只限于參考使用。查了一部分資料,最后終于寫(xiě)成功了,只是單純的實(shí)現(xiàn),其它的特殊用法還沒(méi)有進(jìn)行深入研究,簡(jiǎn)單貼出來(lái),希望可以給新手一個(gè)參考
    2012-06-06
  • php ci框架中加載css和js文件失敗的原因及解決方法

    php ci框架中加載css和js文件失敗的原因及解決方法

    在將html頁(yè)面整合到ci框架里面的時(shí)候,加載css和js失敗。原因是ci框架是入口的框架
    2014-07-07
  • 基于PHP CURL用法的深入分析

    基于PHP CURL用法的深入分析

    本篇文章是對(duì)PHP中的CURL用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php自定義排序uasort函數(shù)示例【二維數(shù)組按指定鍵值排序】

    php自定義排序uasort函數(shù)示例【二維數(shù)組按指定鍵值排序】

    這篇文章主要介紹了php自定義排序uasort函數(shù),結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)二維數(shù)組按指定鍵值排序的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • PHP實(shí)現(xiàn)簡(jiǎn)單漢字驗(yàn)證碼

    PHP實(shí)現(xiàn)簡(jiǎn)單漢字驗(yàn)證碼

    大家知道簡(jiǎn)單數(shù)字或者字母驗(yàn)證碼很容易被破解,但是算式驗(yàn)證碼或者中文漢字驗(yàn)證碼不容易被破解,所以建議大家在使用驗(yàn)證碼的時(shí)候,盡量用算式驗(yàn)證碼或者中文漢字驗(yàn)證碼。
    2015-07-07
  • PHP 應(yīng)用容器化以及部署方法

    PHP 應(yīng)用容器化以及部署方法

    本文給大家分享的是如何把PHP應(yīng)用容器化,以及使用docker在服務(wù)器上部署PHP應(yīng)用,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2018-02-02
  • 淺談PHP性能優(yōu)化之php.ini配置

    淺談PHP性能優(yōu)化之php.ini配置

    用于生產(chǎn)環(huán)境中的PHP需要對(duì)其進(jìn)行優(yōu)化,讓PHP自身發(fā)揮更好的性能,除了寫(xiě)好PHP代碼,還要配置好php.ini。本文從內(nèi)存、文件上傳、會(huì)話緩沖輸出、真實(shí)路徑緩存這幾個(gè)方面講解php.ini的配置調(diào)優(yōu)。
    2021-05-05

最新評(píng)論

广元市| 厦门市| 凭祥市| 抚顺县| 永顺县| 仲巴县| 伊宁市| 四平市| 灵武市| 胶州市| 仪陇县| 新蔡县| 资中县| 永顺县| 临澧县| 怀集县| 海南省| 蒲城县| 乌恰县| 昭通市| 迭部县| 榆林市| 松溪县| 简阳市| 东港市| 正定县| 东台市| 思南县| 佛冈县| 临海市| 安泽县| 乐陵市| 册亨县| 侯马市| 启东市| 宣恩县| 革吉县| 甘孜县| 景宁| 疏附县| 兰坪|