CLI. SOAP関数
導入
SOAP拡張モジュールは、 SOAPサーバーおよびクライアントを書くために使用することができます。 本拡張モジュールは、 SOAP 1.1 、 SOAP 1.2 および WSDL 1.1 規約のサブセットをサポートします。
要件
本拡張モジュールは、 GNOME xml library を必要とします。 このライブラリをダウンロード/インストールしてください。 libxml-2.5.4 以上が必要です。
インストール手順
本拡張モジュールは、
--enable-soap
を指定して PHPのconfigureが行われた場合のみ利用可能です。
実行時設定
php.ini の設定により動作が変化します。
表 1. SOAP 設定オプション
| 名前 | デフォルト | 変更の可否 | 変更履歴 |
|---|---|---|---|
| soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | PHP 5.0.0 から利用可能 |
| soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | PHP 5.0.0 から利用可能 |
| soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | PHP 5.0.0 から利用可能 |
以下に設定ディレクティブに関する 簡単な説明を示します。
定義済みクラス
SoapClient
メソッド
-
SoapClient->__call() - SOAP 関数をコールする (推奨されません)
-
SoapClient->__doRequest() - SOAP リクエストを実行する
-
SoapClient->__getFunctions() - SOAP 関数の一覧を返す
-
SoapClient->__getLastRequest() - 直近の SOAP リクエストを返す
-
SoapClient->__getLastRequestHeaders() - 直近の SOAP リクエストヘッダを返す
-
SoapClient->__getLastResponse() - 直近の SOAP レスポンスを返す
-
SoapClient->__getLastResponseHeaders() - 直近の SOAP レスポンスヘッダを返す
-
SoapClient->__getTypes() - SOAP 型の一覧を返す
-
SoapClient->__setCookie() - SOAP リクエストと共に送信されるクッキーを設定する
-
SoapClient->__soapCall() - SOAP 関数をコールする
SoapHeader
SoapHeader は、SOAP ヘッダを渡すもしくは返すための特別な低レベルクラスです。 このクラスは単純なデータホルダーで、 コンストラクタ以外の特別なメソッドを持ちません。このクラスは SOAP ヘッダを渡すための SoapClient->__soapCall() 中、もしくは SOAP レスポンスにおけるヘッダを返すための SOAP ヘッダハンドラ中で使用されます。
SoapParam
SoapParam は、 非 WSDL モードにおけるパラメータの名前付け、 もしくは値を返すための特別な低レベルクラスです。 このクラスは単純なデータホルダーで、 コンストラクタ以外の特別なメソッドを持ちません。
SoapServer
メソッド
-
SoapServer->addFunction() - SOAP リクエストによって処理される単一もしくはいくつかの関数を追加する
-
SoapServer->getFunctions() - 定義されている関数の一覧を返す
-
SoapServer->handle() - SOAP リクエストを処理する
-
SoapServer->setClass() - SOAP リクエストを処理するクラスを設定する
-
SoapServer->setPersistence() - SoapServer の持続モードを設定する
SoapVar
SoapVar は、 非 WSDL モードにおけるパラメータのエンコード、 もしくは値を返すための特別な低レベルクラスです。 このクラスは単純なデータホルダーで、 コンストラクタ以外の特別なメソッドを持ちません。 このクラスは SOAP リクエストもしくはレスポンスにおける型プロパティを 設定したい場合に有効です。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
- SOAP_1_1 ( integer )
-
- SOAP_1_2 ( integer )
-
- SOAP_PERSISTENCE_SESSION ( integer )
-
- SOAP_PERSISTENCE_REQUEST ( integer )
-
- SOAP_FUNCTIONS_ALL ( integer )
-
- SOAP_ENCODED ( integer )
-
- SOAP_LITERAL ( integer )
-
- SOAP_RPC ( integer )
-
- SOAP_DOCUMENT ( integer )
-
- SOAP_ACTOR_NEXT ( integer )
-
- SOAP_ACTOR_NONE ( integer )
-
- SOAP_ACTOR_UNLIMATERECEIVER ( integer )
-
- SOAP_COMPRESSION_ACCEPT ( integer )
-
- SOAP_COMPRESSION_GZIP ( integer )
-
- SOAP_COMPRESSION_DEFLATE ( integer )
-
- SOAP_WAIT_ONE_WAY_CALLS ( integer )
-
PHP 5.1.0 で追加されました。
- UNKNOWN_TYPE ( integer )
-
- XSD_STRING ( integer )
-
- XSD_BOOLEAN ( integer )
-
- XSD_DECIMAL ( integer )
-
- XSD_FLOAT ( integer )
-
- XSD_DOUBLE ( integer )
-
- XSD_DURATION ( integer )
-
- XSD_DATETIME ( integer )
-
- XSD_TIME ( integer )
-
- XSD_DATE ( integer )
-
- XSD_GYEARMONTH ( integer )
-
- XSD_GYEAR ( integer )
-
- XSD_GMONTHDAY ( integer )
-
- XSD_GDAY ( integer )
-
- XSD_GMONTH ( integer )
-
- XSD_HEXBINARY ( integer )
-
- XSD_BASE64BINARY ( integer )
-
- XSD_ANYURI ( integer )
-
- XSD_ANYXML ( integer )
-
PHP 5.1.0 で追加されました。
- XSD_QNAME ( integer )
-
- XSD_NOTATION ( integer )
-
- XSD_NORMALIZEDSTRING ( integer )
-
- XSD_TOKEN ( integer )
-
- XSD_LANGUAGE ( integer )
-
- XSD_NMTOKEN ( integer )
-
- XSD_NAME ( integer )
-
- XSD_NCNAME ( integer )
-
- XSD_ID ( integer )
-
- XSD_IDREF ( integer )
-
- XSD_IDREFS ( integer )
-
- XSD_ENTITY ( integer )
-
- XSD_ENTITIES ( integer )
-
- XSD_INTEGER ( integer )
-
- XSD_NONPOSITIVEINTEGER ( integer )
-
- XSD_NEGATIVEINTEGER ( integer )
-
- XSD_LONG ( integer )
-
- XSD_INT ( integer )
-
- XSD_SHORT ( integer )
-
- XSD_BYTE ( integer )
-
- XSD_NONNEGATIVEINTEGER ( integer )
-
- XSD_UNSIGNEDLONG ( integer )
-
- XSD_UNSIGNEDINT ( integer )
-
- XSD_UNSIGNEDSHORT ( integer )
-
- XSD_UNSIGNEDBYTE ( integer )
-
- XSD_POSITIVEINTEGER ( integer )
-
- XSD_NMTOKENS ( integer )
-
- XSD_ANYTYPE ( integer )
-
- SOAP_ENC_OBJECT ( integer )
-
- SOAP_ENC_ARRAY ( integer )
-
- XSD_1999_TIMEINSTANT ( integer )
-
- XSD_NAMESPACE ( string )
-
- XSD_1999_NAMESPACE ( string )
-
- 目次
- is_soap_fault -- SOAP コールが失敗したかどうかを調べる
- SoapClient->__call() -- SOAP 関数をコールする (推奨されません)
- SoapClient->__construct() -- SoapClient コンストラクタ
- SoapClient->__doRequest() -- SOAP リクエストを実行する
- SoapClient->__getFunctions() -- SOAP 関数の一覧を返す
- SoapClient->__getLastRequest() -- 直近の SOAP リクエストを返す
- SoapClient->__getLastRequestHeaders() -- 直近の SOAP リクエストヘッダを返す
- SoapClient->__getLastResponse() -- 直近の SOAP レスポンスを返す
- SoapClient->__getLastResponseHeaders() -- 直近の SOAP レスポンスヘッダを返す
- SoapClient->__getTypes() -- SOAP 型の一覧を返す
- SoapClient->__setCookie() -- SOAP リクエストと共に送信されるクッキーを設定する
- SoapClient->__soapCall() -- SOAP 関数をコールする
- SoapFault->__construct() -- SoapFault コンストラクタ
- SoapHeader->__construct() -- SoapHeader コンストラクタ
- SoapParam->__construct() -- SoapParam コンストラクタ
- SoapServer->addFunction() -- SOAP リクエストによって処理される単一もしくはいくつかの関数を追加する
- SoapServer->__construct() -- SoapServer コンストラクタ
- SoapServer->fault() -- エラーを示す SoapServer フォールト を発行する
- SoapServer->getFunctions() -- 定義されている関数の一覧を返す
- SoapServer->handle() -- SOAP リクエストを処理する
- SoapServer->setClass() -- SOAP リクエストを処理するクラスを設定する
- SoapServer->setPersistence() -- SoapServer の持続モードを設定する
- SoapVar->__construct() -- SoapVar コンストラクタ
- use_soap_error_handler -- SOAP エラーハンドラを使用して前の値を返すかどうかを設定する