原文:http://blog.csdn.net/painstaker/article/details/5870515
NuSoap是PHP環境下的WebService程式設計工具,用於建立或呼叫WebService,是一個開源軟體。它完全採用PHP語言編寫、透過HTTP收發SOAP訊息的一系列PHP類,由NuSphere Corporation(http://www.nusphere.com/)開發。
它的優勢是不需要擴充函式庫的支持,這種特性使它可用於所有的PHP環境,不受伺服器安全設定的影響。
1.首先,去http://sourceforge.net/projects/nusoap/下載nusoap-0.9.5.zip,解壓縮後把lib資料夾放到與你的WebService程式相同的目錄,如/WebService/ lib。
2.服務端:建立nusoapService.php檔案。
require_once("lib/nusoap.php");
new soap_server; //避免亂碼
.
'UTF-8';
$server->decode_utf8 =
false;
$server->xml_encoding =
'UTF-8';
$server->configureWSDL('Hello'->configureWSDL(
' 支援 /* 註冊需要客戶端存取的程式 類型對應值:bool>"xsd:boo-leano
string->"xsd:string" int->"xsd:int" float-
->register(
'sayHello'
,
//法名
array
(
"name"
//參數,預設為"xsd:string" )
);//回傳值,預設為
"xsd:string" //isset _PORA ATA
= isset($HTTP_RAW_POST_DATA) ?
$HTTP_RAW_POST_DATA
:
''; //service 處理客戶端輸入的資料 ); /* *
* 供呼叫的方法 * @param $name */
function sayHello($name) { $name}!"; }?>
附註: 1.檔案碼不能有任何輸出 XML error parsing SOAP payload on line x( 行號): Reserved XML Name 2.要以
UTF-8
無
BOM格式儲存,不然客戶端呼叫會出錯。
3.
客戶端:建立nusoapClient.php檔案。 require_once("lib/nusoap.php"); 透過WSDL呼叫
WebService 參數 1 WSDL檔案的位址
(問號後的wsdl不能為大寫) WSDL $client = new soapclient( 'http://localhost/WebService/nusoapService.php?wsdl',true); */
$client =
new soapclient('http://localhost/WebService/nusoapService.php'
);
.
'UTF-8'; $client->decode_utf8 =
false; $client->xml_encoding =
'UTF-8'; //參數轉為陣列形式傳遞 'name'=> 'Bruce
Lee'); //目標法沒有參數時,可省略後面的參數 $result 'sayHello' ,$paras); //檢查錯誤,取得回傳值 $client->getError( ))
{ echo "回傳結果:",$result;
} else { echo "調用錯誤:""調用
}?>註:用nusoap實作WebService,
以上就介紹了php nusoap 建立和呼叫webservice,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。