PHP如何呼叫webservice

2021-06-16 04:15:27 字數 937 閱讀 8874

最近工作中需要用php呼叫web service介面,對php不熟,上網搜搜,發現關於用php呼叫web service的文章也不多,不少還是php4裡用nusoap這個模組呼叫的方法,其實php5裡已經包含了處理soap的模組,但是資料太少了,上php官網上查幫助,寫的不是很容易理解,經過多次實踐,終於搞清楚了,php呼叫web service還是非常簡單的。下面用乙個例子說明:

使用php5開發客戶端:

<?php

try ;

$arrpara = array(new qqcheckonline);

$arrresult = $client->__call("qqcheckonline",$arrpara);//$client->qqcheckonline($arrpara);

echo $arrresult->qqcheckonlineresult . "

";} catch (soapfault $e)

?>

**確實很簡單吧,建立soapclient物件時,可以使用儲存在本地wsdl檔案,也可以使用遠端的位址,後面的array陣列裡可以帶上很多的引數,具體引數可以查php的soapclient幫助,這裡帶的是字符集編碼,如果呼叫方法的引數裡有中文,一定要指定字符集編碼,否則會出錯。

呼叫web service前可以先呼叫soapclient的__geunctions()和__gettypes()方法看一下你要呼叫的web service暴露的方法,引數和資料型別,需要注意的是傳入的引數名一定要和soapclient裡面定義的一致,否則引數是傳不過去的。

需要使用soapclient的__soapcall()或__call()方法,具體使用方法可以查php的幫助文件。如果引數要求是乙個結構體,請用類代替,如上面的**。

另外發現個問題,如果web service方法返回的是xml格式的字串,php接收到以後會自己把資料內容解析出來,而不是xml字串.

Jquery ajax呼叫webservice總結

原文 jquery ajax呼叫webservice總結 jquery ajax呼叫webservice c 要注意的幾個事項 1 web.config裡需要配置2個地方 在之間加入 2.正確地編寫webserivce的 uservalidate 的摘要說明 webservice namespace...

Jquery ajax呼叫webservice總結

jquery ajax呼叫webservice c 要注意的幾個事項 1 web.config裡需要配置2個地方 在之間加入 2.正確地編寫webserivce的 1 2 uservalidate 的摘要說明 3 4 webservice namespace 5 webservicebinding ...

Jquery ajax呼叫webservice總結

jquery ajax呼叫webservice c 要注意的幾個事項 1 web.config裡需要配置2個地方 在之間加入 2.正確地編寫webserivce的 uservalidate 的摘要說明 webservice namespace webservicebinding conformsto...