利用NuSoap開發WebService PHP

2021-06-20 02:49:29 字數 2999 閱讀 9638

nusoap

是php

環境下的

webservice

程式設計工具,用於建立或呼叫

webservice

,是乙個開源軟體。它完全採用

php語言編寫、通過

收發soap

訊息的一系列

php類,由

nusphere corporation(

)開發。

它的優勢是不需要擴充套件庫的支援,這種特性使它可用於所有的

php環境,不受伺服器安全設定的影響。

1.

首先,去

nusoap-0.9.5.zip

,解壓後把

lib資料夾放到與你的

webservice

程式相同的目錄,如

/webservice/lib

2.

服務端:建立

nusoapservice.php

檔案。<?php

require_once

("lib/nusoap.php"

);$server 

= new 

soap_server;

//避免亂碼

$server

->soap_defencoding = 

'utf-8'

;$server

->decode_utf8 = 

false

;$server

->xml_encoding = 

'utf-8'

;$server

->configurewsdl(

'sayhello'

);//

開啟wsdl

支援/*

註冊需要被客戶端訪問的程式

型別對應值:

bool->"xsd:boolean"   string->"xsd:string" 

int->"xsd:int"    float->"xsd:float"

*/$server

->register( 

'sayhello'

,    

//方法名

array

("name"

=>

"xsd:string"

),   

//引數,預設為

"xsd:string"

array

("return"

=>

"xsd:string"

) );

//返回值,預設為

"xsd:string"

//isset 

檢測變數是否設定

處理客戶端輸入的資料

* 供呼叫的方法

* @param $name

*/function 

sayhello(

$name

) !";}

?>

注:1.

檔案**不能有任何輸出

,否則呼叫時會報類似如下錯誤:

xml error parsing soap payload on line x(

行號): reserved xml name

2.要以

utf-8 

無bom

格式儲存,不然客戶端呼叫會出錯。

3.

客戶端:建立

nusoapclient.php

檔案。<?php

require_once

("lib/nusoap.php"

);/*

通過wsdl

呼叫webservice

引數1 wsdl

檔案的位址

(問號後的

wsdl

不能為大寫)引數

2 指定是否使用

引數轉為陣列形式傳遞

$paras

=array

('name'

=>

'bruce lee'

);//

目標方法沒有引數時,可省略後面的引數

$result

=$client

->call(

'sayhello'

,$paras

);//

檢查錯誤,獲取返回值

if (!

$err

=$client

->geterror())

else 

?>注:用

nusoap

實現webservice,

不要開啟

php的

soap

擴充套件

Spring整合XFire開發WebService

1 配置xfire servlet 在web.xml中加入如下配置 2 定義介面及實現服務 定義介面,這個介面中定義要通過webservice暴露的方法 package com.fczfr.webservice.hello publicinte ce hellows 實現服務 package com...

在PHP中利用wsdl建立標準webservice

說明 非標準的webservice,可能只能php才能訪問 標準的webservice,就必須要使用wsdl 在這裡我只介紹標準的webservice www.2cto.com 一 建立wsdl 2。修改soapdiscovery.class.php的公共方法getwsdl 讓其自動生成wsdl檔案...

利用user case管理開發

最近在帶領乙個小組進行乙個系統的開發,由於人手比較緊張,所以系統的架構 設計自己都要做,自然少了很多和成員溝通的地方。要知道,如果管理崗位如果具體做某件事情是很致命的,比如乙個架構師還要負責某個業務模組的開發,但現實就是這樣。為了保證良好的溝通效果與進度控制,除了要認真地制訂出切實執行的計畫外,在工...