非物件導向程式設計師在將 SOAP 功能整合到 PHP 腳本時常常會遇到挑戰。儘管擁有 WSDL 文件,但他們可能很難掌握調用 SOAP 調用的正確語法。
要作為客戶端與 SOAP 服務交互,您可以使用 SoapClient 類別。首先使用WSDL 檔案的URL 建立SoapClient 實例:
$client = new SoapClient("http://example.com/webservices?wsdl");
要擷取有關可用函數和類型的信息,請使用:
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
現在,讓我們專注於建置SOAP 呼叫本身。假設您要使用下列資料呼叫「Function1」函數:
WSDL 文件顯示 Contact 是一個複雜類型,有兩個屬性:id 和 name。
要使用所需資料進行SOAP 調用,您需要使用以下內容語法:
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
此程式碼使用指定的ID 和名稱建立Contact 類別的新實例。然後,它將請求參數組裝到 $params 數組中,並使用 __soapCall 呼叫 SOAP 呼叫。
來自 SOAP 服務的回應將儲存在 $response 變數中。您可以檢查回應以獲得呼叫結果。
以上是如何使用 PHP 的 SoapClient 與 SOAP Web 服務整合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!