日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用PHP內(nèi)置SOAP要點(diǎn)分析

對(duì)于剛剛接觸PHP語(yǔ)言的新手來(lái)說(shuō),對(duì)于PHP內(nèi)置SOAP可能還是了解的不太多。PHP內(nèi)置SOAP已經(jīng)是屬于OUT范疇的技術(shù)了,不過(guò)因?yàn)闅v史原因,時(shí)不時(shí)還是會(huì)用到它,以前都是用NuSOAP,現(xiàn)在準(zhǔn)備試試PHP內(nèi)置的SOAP擴(kuò)展。#t#

由于文本只打算說(shuō)說(shuō)客戶端的用法,所以得先找一些能直接用的服務(wù)端,Xmethods提供了一些有趣的選擇,這里選擇其中的Map IP Address to Country服務(wù),功能很簡(jiǎn)單,就是提供一個(gè)IP地址,然后返回國(guó)家名稱。

先創(chuàng)建一個(gè)client實(shí)例:

$client = new SoapClient
(’http://www.ecubicle.net/
iptocountry.asmx?wsdl’, 
array(’trace’ => true)); 

通過(guò)設(shè)置trace為true,我們可以在稍后使用__getLastRequest,__getLastRequestHeaders,__getLastResponse,__getLastResponseHeaders等方法得到一些信息,在程序調(diào)試階段,這些信息很有用,程序投入使用時(shí),則不必使用此參數(shù)。除了trace參數(shù),還可以設(shè)定login和password參數(shù)以實(shí)現(xiàn)HTTP認(rèn)證的功能,此外還有很多參數(shù),可以參考官方文檔。

創(chuàng)建了前面的$client實(shí)例后,我們可以先看看服務(wù)都提供了哪些方法:

print_r($client->__getFunctions());

服務(wù)方法的信息細(xì)節(jié)可以從wsdl里自己查閱,下面看看PHP內(nèi)置SOAP怎么調(diào)用一個(gè)實(shí)際的方法,$ip=’64.156.132.140′:

 
 
 
  1. $result = $client->__soapCall
    (’FindCountryAsString’, array
    (’FindCountryAsString’ => 
    array(’V4IPAddress’ => $ip)));  
  2. print_r($result->
    FindCountryAsStringResult); 

還可以這樣調(diào)用:

 
 
 
  1. $result = $client->
    FindCountryAsString(array
    (’V4IPAddress’ => $ip));  
  2. print_r($result->
    FindCountryAsStringResult); 

PHP內(nèi)置SOAP還可以這樣調(diào)用:

 
 
 
  1. $params = new SoapParam(array(’V4IPAddress’ 
    => $ip), ‘FindCountryAsStringSoapIn’);  
  2. $result = $client->__soapCall
    (’FindCountryAsString’, array($params));  
  3. print_r($result->FindCountryAsStringResult); 

還可以這樣調(diào)用:

 
 
 
  1. $params = new SoapParam(array(’V4IPAddress’ 
    => $ip), ‘FindCountryAsStringSoapIn’);  
  2. $result = $client->FindCountryAsString($params);  
  3. print_r($result->FindCountryAsStringResult); 

在使用PHP內(nèi)置SOAP時(shí),參數(shù)如何傳遞有點(diǎn)不好說(shuō)明,這需要研讀wsdl描述文檔,不過(guò)看wsdl實(shí)在是一件無(wú)趣的事情,所以我覺(jué)得你可以先大概看一下wsdl,然后憑感覺(jué)去嘗試傳遞參數(shù),其中配合trace調(diào)試,一般來(lái)說(shuō),試幾次就能找到正確的傳遞方式,如果還不行,再通過(guò)__getLastRequest,__getLastRequestHeaders等方法提供的信息配合wsdl描述文檔仔細(xì)研究。


網(wǎng)站標(biāo)題:使用PHP內(nèi)置SOAP要點(diǎn)分析
分享路徑:http://www.5511xx.com/article/ccdcijh.html