SOAP 客戶端

SoapClient 級配備了 __call 方法。這不是直接呼叫的。相反,這允許你做:

$soap->requestInfo(['a', 'b', 'c']);

這將呼叫 requestInfo SOAP 方法。

可能的 $options 值表( 鍵/值對陣列 ):

選項 細節
地點 SOAP 伺服器的 URL。在非 WSDL 模式下是必需的。可以在 WSDL 模式下使用以覆蓋 URL。
URI SOAP 服務的目標名稱空間。在非 WSDL 模式下是必需的。
樣式 可能的值是 SOAP_RPC 或 SOAP_DOCUMENT。僅在非 WSDL 模式下有效。
使用 可能的值是 SOAP_ENCODED 或 SOAP_LITERAL。僅在非 WSDL 模式下有效。
soap_version 可能的值為 SOAP_1_1( 預設值 )或 SOAP_1_2。
認證 啟用 HTTP 身份驗證。可能的值為 SOAP_AUTHENTICATION_BASIC( 預設值 )或 SOAP_AUTHENTICATION_DIGEST。
登入 HTTP 身份驗證的使用者名稱
密碼 HTTP 身份驗證的密碼
proxy_host 使用 代理伺服器的 URL
代理埠 代理伺服器埠
proxy_login 代理的使用者名稱
PROXY_PASSWORD 代理密碼
local_cert HTTPS 客戶端證書的路徑(用於身份驗證)
密碼 HTTPS 客戶端證書的密碼
壓縮 壓縮請求/響應。值是 SOAP_COMPRESSION_ACCEPT 的一個位掩碼,有 SOAP_COMPRESSION_GZIP 或 SOAP_COMPRESSION_DEFLATE。例如:SOAP_COMPRESSION_ACCEPT \| SOAP_COMPRESSION_GZIP。
編碼 內部字元編碼(TODO:可能的值)
跟蹤 布林值,預設為 FALSE。啟用對請求的跟蹤,以便可以回溯故障。可以使用 __getLastRequest(),__getLastRequestHeaders(),__getLastResponse() 和 __getLastResponseHeaders()。
類對映 將 WSDL 型別對映到 PHP 類。值應該是一個陣列,其中 WSDL 型別為鍵,PHP 類名稱為值。
例外 布林值。應該是 SOAP 錯誤異常(型別為`SoapFault)。
連線超時 連線到 SOAP 服務的超時(以秒為單位)。
型別表 陣列對映的陣列。陣列應該是鍵/值對,具有以下鍵:type_name,type_ns(名稱空間 URI),from_xml(回撥接受一個字串引數)和 to_xml(回撥接受一個物件引數)。
cache_wsdl 如何(如果有的話)快取 WSDL 檔案。可能的值是 WSDL_CACHE_NONE,WSDL_CACHE_DISK,WSDL_CACHE_MEMORY 或 WSDL_CACHE_BOTH。
使用者代理 要在 User-Agent 標頭中使用的字串。
stream_context 上下文的資源。
特徵 SOAP_SINGLE_ELEMENT_ARRAYS,SOAP_USE_XSI_ARRAY_TYPE,SOAP_WAIT_ONE_WAY_CALLS 的位掩碼。
活著 ( PHP 版本> =僅 5.4 ) 布林值。傳送 Connection: Keep-Alive 標頭(TRUE)或 Connection: Close 標頭(FALSE)。
ssl_method ( PHP 版本> =僅限 5.5 )要使用的 SSL / TLS 版本。可能的值是 SOAP_SSL_METHOD_TLS,SOAP_SSL_METHOD_SSLv2,SOAP_SSL_METHOD_SSLv3 或 SOAP_SSL_METHOD_SSLv23。

32 位 PHP 的問題 : 在 32 位 PHP 中,大於 32 位的數字字串由 xs:long 自動轉換為整數將導致它達到 32 位限制,將其轉換為 2147483647。要解決此問題,請將字串轉換為 float,然後再將其傳遞給 __soapCall()。