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()。