SOAP 客戶端

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

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

這將呼叫 requestInfo SOAP 方法。

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

選項 細節
地點 SOAP 伺服器的 URL。在非 WSDL 模式下是必需的。可以在 WSDL 模式下使用以覆蓋 URL。
URI SOAP 服務的目標名稱空間。在非 WSDL 模式下是必需的
樣式 可能的值是 SOAP_RPCSOAP_DOCUMENT。僅在非 WSDL 模式下有效。
使用 可能的值是 SOAP_ENCODEDSOAP_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_GZIPSOAP_COMPRESSION_DEFLATE。例如:SOAP_COMPRESSION_ACCEPT \| SOAP_COMPRESSION_GZIP
編碼 內部字元編碼(TODO:可能的值)
跟蹤 布林值,預設為 FALSE。啟用對請求的跟蹤,以便可以回溯故障。可以使用 __getLastRequest()__getLastRequestHeaders()__getLastResponse()__getLastResponseHeaders()
類對映 將 WSDL 型別對映到 PHP 類。值應該是一個陣列,其中 WSDL 型別為鍵,PHP 類名稱為值。
例外 布林值。應該是 SOAP 錯誤異常(型別為`SoapFault)。
連線超時 連線到 SOAP 服務的超時(以秒為單位)。
型別表 陣列對映的陣列。陣列應該是鍵/值對,具有以下鍵:type_nametype_ns(名稱空間 URI),from_xml(回撥接受一個字串引數)和 to_xml(回撥接受一個物件引數)。
cache_wsdl 如何(如果有的話)快取 WSDL 檔案。可能的值是 WSDL_CACHE_NONEWSDL_CACHE_DISKWSDL_CACHE_MEMORYWSDL_CACHE_BOTH
使用者代理 要在 User-Agent 標頭中使用的字串。
stream_context 上下文的資源。
特徵 SOAP_SINGLE_ELEMENT_ARRAYSSOAP_USE_XSI_ARRAY_TYPESOAP_WAIT_ONE_WAY_CALLS 的位掩碼。
活著 PHP 版本> =僅 5.4布林值。傳送 Connection: Keep-Alive 標頭(TRUE)或 Connection: Close 標頭(FALSE)。
ssl_method PHP 版本> =僅限 5.5 )要使用的 SSL / TLS 版本。可能的值是 SOAP_SSL_METHOD_TLSSOAP_SSL_METHOD_SSLv2SOAP_SSL_METHOD_SSLv3SOAP_SSL_METHOD_SSLv23

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