㈠ php如何調用webservice
最近工作中需要用php調用webservice介面,對php不熟,上網搜搜,發現關於用php調用webservice的文章也不多,不少還是php4里用nusoap這個模塊調用的方法,其實php5里已經包含了處理soap的模塊,但是資料太少了,上php官網上查幫助,寫的不是很容易理解,經過多次實踐,終於搞清楚了,php調用webservice還是非常簡單的。下面用一個例子說明:
webservice服務是查詢QQ用戶是否在線
使用php5開發客戶端:
<?php
try{
//$client=newSoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client=newSoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("<br/>");
var_mp($client->__getTypes());
print("<br/>");
classqqCheckOnline{
var$qqCode="10000";
};
$arrPara=array(newqqCheckOnline);
$arrResult=$client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);
echo$arrResult->qqCheckOnlineResult."<br/>";
}catch(SOAPFault$e){
print$e;
}
?>
代碼確實很簡單吧,創建SoapClient對象時,可以使用保存在本地WSDL文件,也可以使用遠程的地址,後面的array數組里可以帶上很多的參數,具體參數可以查php的SoapClient幫助,這里帶的是字元集編碼,如果調用方法的參數里有中文,一定要指定字元集編碼,否則會出錯。
調用webservice前可以先調用SoapClient的__geunctions()和__getTypes()方法看一下你要調用的webservice暴露的方法,參數和數據類型,需要注意的是傳入的參數名一定要和soapclient裡面定義的一致,否則參數是傳不過去的。
需要使用SoapClient的__soapCall()或__call()方法,具體使用方法可以查php的幫助文檔。如果參數要求是一個結構體,請用類代替,如上面的代碼。
另外發現個問題,如果webservice方法返回的是xml格式的字元串,php接收到以後會自己把數據內容解析出來,而不是xml字元串.
㈡ PHP如何調用webservice
SOAP的WebService是可以直接使用的,php有支持SoapClient的,用起來很容易
<?php
$wsdl = "";
$client = new SoapClient($wsdl);
$param = array('arg0'=>'arg0','arg1'=>'arg1');
$ret = $client->getUserinfoByID($param);
if ($ret->return){
print_r($ret->return);
}else{
echo 'no user';
}
具體SoapClient需要php的soap支持,看phpinfo里有soap的話就可以了,比如這樣:
soap
Soap Client enabled
Soap Server enabled
Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400
㈢ PHP調用.NET的WebService 簡單實例
創建一個C#的web
service,這個就不多說了,我用vs2008的wizard創建了一個最簡單的,讓它運行在:http://localhost/webservice1/service1.asmx
其中有個web
method像這樣的:
復制代碼
代碼如下:
[WebMethod]
public
string
HelloWorld()
{
return
"Hello
World";
}
ok,一切就緒。在某php文件中如下寫法:
php5本身就支持SOAP調用Web
Service:
<?php
//get
localization
strings
from
C#
webservice
$client
=
new
SoapClient('http://localhost/webservice1/Localization.asmx?wsdl');
echo
"Call
web
service
method
from
C#
WebService:\n";
$result
=
$client->GetLocalizationResource();
if(!is_soap_fault($result))
{
echo
"return:\n",
$result->GetLocalizationResourceResult;
}
else
{
echo
"soap
call
fault";
}
?>
這樣就OK了,會繼續介紹SOAP
以上所述就是本文的全部內容了,希望大家能夠喜歡。
請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支持!
㈣ php怎麼調用java的https方式的webservice介面
直接調用就可以了···
㈤ php的webservice怎麼用
這個問題我記得回答過一次了,
樓上寫的太過於復雜,對於你一次都沒用過的,只需要簡單明白怎麼用就可以了。然後再可以自己慢慢研究。
Web
Service
是一種新的web應用程序分支,他們是自包含、自描述、模塊化的應用,可以發布、定位、通過web調用。Web
Service可以執行從簡單的請求到復雜商務處理的任何功能。一旦部署以後,其他Web
Service應用程序可以發現並調用它部署的服務.
實際上,他的出現的最佳好處就是跨平台操作,不在局限於web編程語言的限制。
php的一般的應用,服務方:根據一定的規則和用戶的參數生成一個標準的xml文檔。
獲得方:根據服務方的規則和自己的參數獲得服務方的xml文檔數據。然後分析xml數據。
㈥ php 中 webservice 是如何使用的 調用別人的介面 參數是如何傳遞的
php調用web service還是非常簡單的。下面用一個例子說明:
web service服務是查詢QQ用戶是否在線
使用php5開發客戶端:
<?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("");
var_mp($client->__getTypes());
print("");
class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);
$arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);
echo $arrResult->qqCheckOnlineResult . "";
} catch (SOAPFault $e) {
print $e;
}
?>
代碼確實很簡單吧,創建SoapClient對象時,可以使用保存在本地WSDL文件,也可以使用遠程的地址,後面的array數組里可以帶上很多的參數,具體參數可以查php的SoapClient幫助,這里帶的是字元集編碼,如果調用方法的參數里有中文,一定要指定字元集編碼,否則會出錯。
調
用web service前可以先調用SoapClient的__geunctions()和__getTypes()方法看一下你要調用的
web service暴露的方法,參數和數據類型,需要注意的是傳入的參數名一定要和soapclient裡面定義的一致,否則參數是傳不過去的。
需要使用SoapClient的__soapCall()或__call()方法,具體使用方法可以查php的幫助文檔。如果參數要求是一個結構體,請用類代替,如上面的代碼。
另外發現個問題,如果web service方法返回的是xml格式的字元串,php接收到以後會自己把數據內容解析出來,而不是xml字元串.
㈦ php怎樣通過SoapClient調用webservice介面
首先要先配置;extension=php_soap.dll我們打開php.ini
php怎樣通過SoapClient調用webservice介面
我們打開一個webservice的例子
php怎樣通過SoapClient調用webservice介面
怎樣看這個xml的文件呢,如下圖
php怎樣通過SoapClient調用webservice介面
下面我們開始寫代碼,先實例化SoapClient
php怎樣通過SoapClient調用webservice介面
使用介面方法,get_object_vars得到的是指定的對象中定義的屬性組成的關聯數組
php怎樣通過SoapClient調用webservice介面
6
最後運行一下測試一下
php怎樣通過SoapClient調用webservice介面