欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

php中soap指的是什么意思

這篇文章給大家分享的是有關(guān)php中soap指的是什么意思的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)專注于蓬萊企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。蓬萊網(wǎng)站建設(shè)公司,為蓬萊等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

soap是基于XML和HTTP通信協(xié)議,在php中使用soap的方法是添加一下php的soap模塊,也就是在php.ini里面加上“soap.so”即可。

一、php soap是什么意思?什么是wsdl,為什么要用他們?

SOAP是基于XML和HTTP通信協(xié)議,xml各種平臺,各種語言都支持的一個種語言。http呢它得到了所有的因特網(wǎng)瀏覽器及服務(wù)器的支持。

WSDL 指網(wǎng)絡(luò)服務(wù)描述語言 (Web Services Description Language),是一種使用 XML 編寫的文檔。這種文檔可描述某個 Web service。它可規(guī)定服務(wù)的位置,以及此服務(wù)提供的操作。

我是做php的,你是java的,他是做.net,如果我們?nèi)齻€之間要進(jìn)行通信,要進(jìn)行數(shù)據(jù)交換,怎么辦呢?我們需要一個能和我們都能通信的工具。soap,wsdl被創(chuàng)造出來,使得運(yùn)行在不同的操作系統(tǒng)并使用不同的技術(shù)和編程語言的應(yīng)用程序可以互相進(jìn)行通信。

二、實(shí)例

如果php要使用soap的話,通常做法是,添加了一下php的soap模塊,在php.ini里面加上soap.so,下面介紹一個不要添加soap.so文件,也可以實(shí)現(xiàn)soa

//包函nusoap.php
require_once('./lib/nusoap.php');
//創(chuàng)建服務(wù)端
$server=newsoap_server;
//定義客戶端調(diào)用方法
$server->register('hello');
//調(diào)用方法以及參數(shù)
functionhello($name) {
return'Hello, '.$name;
}
$HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA) ?$HTTP_RAW_POST_DATA:'';
$server->service($HTTP_RAW_POST_DATA);
?>

p的方法

nusoap是php寫的一個功能文件,包涵進(jìn)來就可以用了,網(wǎng)上很多自己去搜一下吧。

1、不使用wsdl

a、服務(wù)端helloworld2.php

b、客戶端hello.php

//包函nusoap.php
require_once('./lib/nusoap.php');
//新建一個soap客戶端,調(diào)用服務(wù)端提供的wsdl
//$client = new soapclient('http://localhost/test/hellowsdl2.php?wsdl', true);
$client=newsoapclient('http://localhost/test/helloworld2.php');
//查看一下是不是報(bào)錯
$err=$client->getError();
if($err) {
//顯示錯誤
echo'
Constructor error
'.$err.'
';
}
//調(diào)用服務(wù)端的方法
$result=$client->call('hello',array('person'=>"this is a test"));
echo'
Result
';
print_r($result);
echo'
';
?>

2、使用wsld

a、服務(wù)器端

//包函nusoap.php
require_once('./lib/nusoap.php');
//新建一個soap服務(wù)
$server=newsoap_server();
//初始化支持wsdl
$server->configureWSDL('hellowsdl2','urn:hellowsdl2');
//定義數(shù)據(jù)結(jié)構(gòu)來接收數(shù)據(jù)
$server->wsdl->addComplexType(
'Person',
'complexType',
'struct',
'all',
'',
array(
'firstname'=>array('name'=>'firstname','type'=>'xsd:string'),//后面的type定義數(shù)據(jù)的類型,這個是string
'age'=>array('name'=>'age','type'=>'xsd:int'),//后面的type定義數(shù)據(jù)的類型,這個是int
'gender'=>array('name'=>'gender','type'=>'xsd:string')//后面的type定義數(shù)據(jù)的類型,這個是string
)
);
$server->wsdl->addComplexType(
'SweepstakesGreeting',
'complexType',
'struct',
'all',
'',
array(
'greeting'=>array('name'=>'greeting','type'=>'xsd:string'),
'winner'=>array('name'=>'winner','type'=>'xsd:string')
)
);
//服務(wù)器定義的soap調(diào)用方法
$server->register('hello',// 方法名字hello,方法就在下面
array('person'=>'tns:Person'),// 客戶端傳來的變量
array('return'=>'tns:SweepstakesGreeting'),//返回參數(shù)
'urn:hellowsdl2',// soap名
'urn:hellowsdl2#hello',// soap的方法名
'rpc',// 使用的方式
'encoded',// 編碼
'test'// 存檔
);
//定義上面注冊過的函數(shù)hello
functionhello($person) {
$greeting='Hello, '.$person['firstname'].'. It is nice to meet a '.$person['age'].' year old '.$person['gender'].'.';
$winner='Scott';
//要返回的數(shù)據(jù)
returnarray(
'greeting'=>$greeting,
'winner'=>$winner
);
}
// 請求時(試圖)調(diào)用服務(wù)
$HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA) ?$HTTP_RAW_POST_DATA:'';
$server->service($HTTP_RAW_POST_DATA);
?>

b、客戶端

//包函nusoap.php
require_once('./lib/nusoap.php');
//新建一個soap客戶端,調(diào)用服務(wù)端提供的wsdl
//$client = new soapclient('http://localhost/test/hellowsdl2.php?wsdl', true);
$client = new soapclient('http://localhost/test/helloworld2.php');
//查看一下是不是報(bào)錯
$err = $client->getError();
if ($err) {
//顯示錯誤
echo '
Constructor error
' . $err . '
';
}
//要向服務(wù)端要傳的參數(shù)
$person = array('firstname' => 'Willi', 'age' => 22, 'gender' => 'male');
//調(diào)用服務(wù)端的方法
$result = $client->call('hello', array('person' => $person));
//錯誤審核
if ($client->fault) {
echo '
Fault
';
print_r($result);
echo '
';
} else {
$err = $client->getError();
if ($err) {
echo '
Error
' . $err . '
';
} else {
echo '
Result
';
print_r($result);
echo '
';
}
}
//顯示請求信息
echo '
Request
';
echo '
' . htmlspecialchars($client->request, ENT_QUOTES) . '
';
//顯示返回信息
echo '
Response
';
echo '
' . htmlspecialchars($client->response, ENT_QUOTES) . '
';
//顯示調(diào)試信息
echo '
Debug
';
echo '
' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '
';
?>

上面二個例子不管是客戶端,還是服務(wù)器端,都是用php寫的,你可以試著用多種語言來寫,來測試一下。不管你是用php的模塊,還是用nusoap,里面具體方法就不在這多說了,手冊里面都有。

SOAP在這里就不用介紹了,  這里只是簡單的實(shí)現(xiàn)一個SOAP的實(shí)例, 不多說 ,看代碼吧。 soap分為server和client, 我們要使client去調(diào)用server的代碼. 首先看server短的代碼:

這個是server端的代碼: server.php

<?php     
//聲明一個函數(shù)add() ,并返回它的值        function add($a,$b){        return $a+$b;        }    //實(shí)例化一個SoapServer對象, 并將add函數(shù)注冊成為其方法        $server = new SoapServer(null,array('uri'=>'http://localhost/')); //指定server端代碼的URI(資源標(biāo)志符)        $server->addFunction("add");        $server->handle();?>

然后使用client端的代碼來調(diào)用server端的代碼: client的代碼也很簡單: 如下:

這個是client端的代碼 client.php

<?php     
//建立一個參數(shù)數(shù)組,存儲要訪問的提供soap服務(wù)的計(jì)算機(jī)的地址與程序        $arrOptions=array(            'uri'=>'http://localhost/',            'location'=>'http://localhost/soap/server.php',  //注意: 這個location指定的是server端代碼在服務(wù)器中的具體位置, 我的是在本地根目錄下的soap目錄中,            'trace'=>true,        );        $soapObject = new SoapClient(null,$arrOptions); //實(shí)例化客戶端對象        echo $soapObject->add(20,30); //調(diào)用服務(wù)器端的函數(shù)add并返回值50?>

ok, 結(jié)束了 !

感謝各位的閱讀!關(guān)于“php中soap指的是什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站題目:php中soap指的是什么意思
新聞來源:http://aaarwkj.com/article12/ispegc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、Google、品牌網(wǎng)站設(shè)計(jì)外貿(mào)建站、網(wǎng)站收錄響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
久久九九亚洲欧美中文字幕| 国产自拍精品视频免费观看| 欧美一区二区三区蜜桃| 亚洲最大av免费在线看| 一区二区三区国产精品乱码| 久久人妻少妇嫩草av蜜桃综合| 国产亚洲中文字幕91| av在线免费播放观看| 91亚洲熟妇国产熟妇肥婆| 久久热福利视频就在这里| 四虎在线观看最新入口| 日产精品一级二级三级爱| 国产欧美又粗又猛又爽老| 内地精品露脸自拍视频| 九七青青草视频在线观看| 亚洲精品永久在线观看| 97免费观看在线观看| 免费的一区二区中文字幕| 免费在线一区二区av| 亚洲精品理论片在线观看| 亚洲欧美日韩之国产综合| 国产免费播放一区二区三区| 亚洲中文字幕乱码第一页| 日韩在线一区二区视频| 青草免费在线播放视频| 自拍一区日韩二区欧美三区| 国产一区二区麻豆视频| 国产成人综合在线观看网站| 午夜福利一区二区在线| 国产美女无遮挡免费网站| 亚洲精品在线观看av| 久久成人综合亚洲精品欧美| av在线中文字幕乱码| 午夜丁香婷婷爽少妇av| 国产精品乱码精品久久久| 中国亚洲黄色录像免费看| 亚洲va久久久噜噜噜久久狠| 亚洲国内一区二区三区| 中文字幕日韩精品国产| 韩国av一区二区三区| 免费草b视频在线观看|