當前位置:首頁 » 編程語言 » phpnetwebservice

phpnetwebservice

發布時間: 2022-04-26 00:14:41

1. 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字元串.

2. .net調用php的webservice時的安全身份認證該怎麼做誰做過給點思路

webservice傳遞的參數中可以包括幾個系統級的驗證參數,比如客戶端獨有的ID,密碼,時間戳。
然後客戶端通過約定好的加密方式把這幾個參數加密後得到一個密碼字元串,三個參數連加密結果一起發過去。
伺服器端也按同樣方式把這三個參數加密一次,如果得到的結果和客戶端發來的相同,就通過認證。
時間戳是發送的時間,毫秒級的,這個一直在變,所以每次的加密結果都不同,即使被人攔截到了也不能重用上一次的加密結果。記得設置時間戳的超時和判斷大小,不要讓過時的消息騙了你

3. webservice介面怎麼寫 php

webservice 發展了好久了,有好多種客戶端部署調用方式 ,流程大致是先創建服務,再調用。
下面的代碼是創建一個簡單的Webservice服務.
server.php
<?php

require_once "lib/nusoap.php";
function webserver() {
return "This is a Webservice Server";
}
$soap = new soap_server;
$soap->register('webserver');
$soap->service($HTTP_RAW_POST_DATA);
?>

上面的代碼就創建了一個Webservice服務程序,接下來創建調用Webservice介面的程序:
<?php
require_once "soap/lib/nusoap.php";

$web_url = "";
$client = new soapclient($web_url."/server.php");

$param = array();
$ret = $client->call('webserver', $param, $web_url, $web_url);

echo $ret;

?>
基本上流程就是這樣,當然,實際應用上能寫出很復雜的東西,這個你可以找找相關資料學習一下,上面的php調用Webservice程序是通用的,適合於PHP調用其它ASP.NET及Java等各類語言的Webservice介面。一些技術博文里有很詳細的介紹和學習。

參考地址:

4. PHP處理.Net的webservice返回的dataset

AjaxMethod()]
public DataSet GetDataSet()
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:工作項目分析 estdb.mdb;Persist Security Info=True;");
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from t_name";
cmd.CommandType = CommandType.Text;

OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
return ds;
}
catch
{
conn.Close();
throw;
}
}

<script language="JavaScript">

// var ds =test.GetDataTable().value; //table數據源
//alert(ds.Rows[i].level2;

function getDataSet()
{
var ds =test.GetDataSet().value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
var s = new Array();
s[s.length] = "<table style='border: #000000 1px solid; color: #993333; font-family: 'Microsoft Sans Serif'; background-color: #ffff99;'>";

for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
s[s.length] = "<tr>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].id + "</td>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].f_date + "</td>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].f_name + "</td>";
s[s.length] = "</tr>";
}

s[s.length] = "</table>";
document.getElementById("div1").innerHTML = s.join("");
}
else
{
alert("調用Ajax介面函數錯誤!");
}
}
</script>

通過js調用WebService

另外,團IDC網上有許多產品團購,便宜有口碑

5. php 調用.net的webservice 進行身份認證問題

這種情況,只能在伺服器的IIS上設置了,就像操作系統一樣,做一個guest用戶名,默認為可訪問的用戶,但許可權受到限制;
PHP做不了這種匿名的認證!

6. PHP如何向.NET介面webservice發送url請求 獲取.net的內容

按照約定好的介面定義,用SOAP或者HTTP直接發請求即可,你試試直接請求服務的URL,獲取返回的XML然後解析看看

7. PHP調用.net的wcf和webservice服務

PHP要麼用第三方的soap封裝類,或者用自帶的擴展soap client,這個默認是關閉的。需要去php.ini進行修改。

soap client :
$soap = new SoapClient('http://127.0.0.1/soap_ss.php?wsdl');
$reData = $soap->Helloworld(array('in0'=>'Ken'));

具體的傳遞的參數、方法可以直接在瀏覽器訪問查看介面

8. net怎麼調用php的webservice

<?php
$client = new SoapClient('http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl');
$parm=array('mobileCode'=>'1528604','userID'=>'');
$result=$client->getMobileCodeInfo($parm);
echo ($result->getMobileCodeInfoResult);
?>

測試通過

熱點內容
邊的存儲方法 發布:2025-05-16 17:33:16 瀏覽:925
海量伺服器怎麼拆 發布:2025-05-16 17:31:07 瀏覽:209
運行與編譯的區別 發布:2025-05-16 17:25:02 瀏覽:823
c語言for中continue 發布:2025-05-16 17:20:14 瀏覽:647
ftp儲存 發布:2025-05-16 17:04:08 瀏覽:504
家悅3010怎麼看電腦配置 發布:2025-05-16 17:02:38 瀏覽:885
sqlin傳參 發布:2025-05-16 17:02:37 瀏覽:889
python計算md5 發布:2025-05-16 17:02:32 瀏覽:427
看演算法頭疼 發布:2025-05-16 16:56:41 瀏覽:798
給定文件編譯成dll文件 發布:2025-05-16 16:45:05 瀏覽:730