利用PHP的SOAP函式與ASP.NET Service做取得資料的溝通,不過,過程中也遇到一些問題,因此,做一下記錄好了,以免日後遇到同樣問題會找不到資料。
在ASP.NET的Web Service中,要利用PHP進行函式的呼叫,如果該函式必須傳入變數時,必須將變數轉成陣列後,才能帶入函式中,範例如下:
try {
$soap = new SoapClient("http://xxx.xxx.xxx/Service.asmx?WSDL");
// 變數名稱必需與Web Service的變數名稱相同
$params = array(
'Dept'=>'MIS',
'Position'=>'Program'
);
$result = $soap->getMembers($params);
return $result->MembersData;
} catch (SoapFault $exception) {
echo $exception;
}
如果對於這個Web Service提供了哪些函式不瞭解,或是某個函式需要哪些變數不清楚的話,則可以利用下方函式進行查詢:
參考網址:http://www.euca.net/forums/showthread.php?p=20851
$functions = $soap->__getFunctions();
print_r($functions);
$types = $soap->__getTypes();
print_r($types);
沒有留言:
張貼留言