導航:首頁 > 編程語言 > php調用webserver

php調用webserver

發布時間:2025-03-12 13:34:05

php如何調用webservice,知道的高手進

SOAP的WebService是可以直接使用的,php有支持SoapClient的,用起來很容易
<?php
$wsdl = "http://192.168.1.2/jaxws/services/test?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 webservice是什麼

一言以蔽之:WebService是一種跨編程語言和跨操作系統平台的遠程調用技術。
所謂跨編程語言和跨操作平台,就是說服務端程序採用java編寫,客戶端程序則可以採用其他編程語言編寫,反之亦然!跨操作系統平台則是指服務端程序和客戶端程序可以在不同的操作系統上運行。
所謂遠程調用,就是一台計算機a上的一個程序可以調用到另外一台計算機b上的一個對象的方法,譬如,銀聯提供給商場的pos刷卡系統,商場的POS機轉賬調用的轉賬方法的代碼其實是跑在銀行伺服器上。再比如,amazon,天氣預報系統,淘寶網,校內網,網路等把自己的系統服務以webservice服務的形式暴露出來,讓第三方網站和程序可以調用這些服務功能,這樣擴展了自己系統的市場佔有率,往大的概念上吹,就是所謂的SOA應用。
其實可以從多個角度來理解WebService,從表面上看,WebService就是一個應用程序向外界暴露出一個能通過Web進行調用的API,也就是說能用編程的方法通過Web來調用這個應用程序。我們把調用這個WebService的應用程序叫做客戶端,而把提供這個WebService的應用程序叫做服務端。從深層次看,WebService是建立可互操作的分布式應用程序的新平台,是一個平台,是一套標准。它定義了應用程序如何在Web上實現互操作性,你可以用任何你喜歡的語言,在任何你喜歡的平台上寫Web service ,只要我們可以通過Web service標准對這些服務進行查詢和訪問。
WebService平台需要一套協議來實現分布式應用程序的創建。任何平台都有它的數據表示方法和類型系統。要實現互操作性,WebService平台必須提供一套標準的類型系統,用於溝通不同平台、編程語言和組件模型中的不同類型系統。Web service平台必須提供一種標准來描述Web service,讓客戶可以得到足夠的信息來調用這個Web service。最後,我們還必須有一種方法來對這個Web service進行遠程調用,這種方法實際是一種遠程過程調用協議(RPC)。為了達到互操作性,這種RPC協議還必須與平台和編程語言無關。

至於php嘛, 就是一門動態的腳本語言, 無需和webservice畫上勾

❸ C#調用php的web service ,錯誤提示:從網路上接收的xml存在問題

第一,使用的網路協議有沒有什麼問題,客戶端可不可以接收xml格式的數據,第二,xml本身的問題,格式有沒有出現問題導致客戶端無法解析,第三,客戶端的解析函數出現問題,你寫的解析xml的函數是不是有錯,第四,可能是網路的問題,數據在傳輸的過程中出現問題,丟失數據或者數據發生錯誤等等,出現這種情況的,是沒有辦法解決的,這是網路,操作系統,底層平台等等的問題,這種情況很少

❹ php連接webservice每次都要new SoapClient()嗎

最近工作中需要用php調用web service介面,對php不熟,上網搜搜,發現關於用php調用web service的文章也不多,不少還是php4里用nusoap這個模塊調用的方法,其實php5里已經包含了處理soap的模塊,但是資料太少了,上php官網上查幫助,寫的不是很容易理解,經過多次實踐,終於搞清楚了,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字元串.

❺ ThinkPHP如何調用WebService的,需要什麼樣的類,誰能給個詳細的代碼謝謝

可以用import函數.例如, 你可以把phpMailer.class.php放在 ThinkPHP/Library/Org/Util/文件夾下.
要用的時候,

import('Org.Util.phpMailer');

如果用命名空間的話,可以直接new 這個對象

❻ php 調用webservice 返回的值用var_mp()返回就是下面的值,想取到<Balance>366</Balance>的值,謝謝

返回的是一個對象 取出out里的東西 然後 用xml解析出來這個東西 然後 找到ballance節點 的值即可

❼ php webservice 調用錯誤出現 Fault occurred while processing

本地調用介面的時候的參數中有很多參數是空的,將這些參數替換為空字元串 ""再試試,說不準就好了。

對於我這個方法的問題追蹤最終的產生原因 ,是webservice服務端的處理中沒有空從參數進行處理,也就是說這是服務端的問題,客戶端可以使用替換null為空字元串的方法進行解決。

閱讀全文

與php調用webserver相關的資料

熱點內容
數字圖像處理岡pdf 瀏覽:380
榮耀v6怎麼隱藏桌面文件夾 瀏覽:798
程序員有女的嗎 瀏覽:504
通訊伺服器中斷是為什麼 瀏覽:644
itextpdf亂碼 瀏覽:641
哪個app製作書法壁紙 瀏覽:196
暗梁支坐是否加密 瀏覽:341
51單片pdf 瀏覽:688
matlab編程習題 瀏覽:64
騰達wifi加密方式 瀏覽:121
ug平移命令 瀏覽:768
釘釘語音通話安全加密有什麼特徵 瀏覽:609
網購領券app哪個好靠譜 瀏覽:618
人民幣數字加密幣轉賬支付貨幣 瀏覽:634
怎麼用cat命令創建mm 瀏覽:689
當今社會程序員好做嗎 瀏覽:222
程序員那麼可愛梓童第幾集求婚 瀏覽:708
程序員大廠指南 瀏覽:777
ubuntupdf閱讀器 瀏覽:4
直針編織能織出加密針法嗎 瀏覽:747