PHPのお勉強!

PHP TOP

SoapClient::__construct

(PHP 5, PHP 7, PHP 8)

SoapClient::__constructSoapClient のコンストラクタ

説明

public SoapClient::__construct(?string $wsdl, array $options = [])

SOAP サービスに接続するための SoapClient オブジェクトを生成します。

パラメータ

wsdl

サービスを記述した WSDL ファイルまたは URI。 これは自動的にクライアントを設定します。 指定されない場合、クライアントは 非WSDL モードで動作します。

注意:

デフォルトでは、 WSDL ファイルはパフォーマンスのためキャッシュされます。 このキャッシュ機能を無効にしたり、設定を変更する場合は、 SOAP 設定オプション cache_wsdl オプション を参照ください。

options

SOAP クライアントに指定する追加オプションを連想配列で指定します。 wsdl が指定された場合、 このパラメータはオプションです。 指定されない場合、 locationurl オプションを指定する必要があります。

location string

リクエストを送信する SOAP サーバーのURL

wsdl パラメータが指定されない場合、 必須です。 wsdllocation が指定された場合、 location オプションは WSDL ファイルで指定されたあらゆる location を上書きします。

uri string

SOAP サービスのターゲット名前空間です。

wsdl が指定されていない場合、このパラメータは必須です。 そうでない場合、この値は無視されます。

style int

SOAP_RPCSOAP_DOCUMENT を使うと、 このクライアントで使うバインディングスタイルを指定します。 SOAP_RPC は RPCスタイルのバインディングを指定します。 この場合の SOAP リクエストのボディには、 関数コールの標準エンコーディングが含まれます。 SOAP_DOCUMENT は ドキュメントスタイルのバインディングを指定します。 この場合の SOAP リクエストのボディには、 サービス定義を記した XML ドキュメントが含まれます。

wsdl が指定された場合、 このオプションは無視され、 スタイルは WDSL ファイルから読み込まれます。

このオプションと wsdl パラメータ を両方指定しなかった場合、 RPCスタイルを使います。

use int

SOAP_ENCODEDSOAP_LITERAL を使うと、 このクライアントで使うエンコーディングスタイルを指定します。 SOAP_ENCODED は、 SOAP 仕様で定義された型を使い、エンコーディングを指定します。 SOAP_LITERAL は、 サービスで定義されたスキームを使い、 エンコーディングを指定します。

wsdl が指定された場合、 このオプションは無視され、 エンコーディングは WDSL ファイルから読み込まれます。

このオプションと wsdl パラメータ を両方指定しなかった場合、 "encoded" スタイルを使います。

soap_version int

使用する SOAP プロトコルのバージョンを指定します: SOAP 1.1 の場合は SOAP_1_1 を指定します。 SOAP 1.2 の場合は SOAP_1_2 を指定します。

省略した場合は、SOAP 1.1 を使います。

authentication int

HTTP 認証をリクエスト時に使う際の、 認証方法を指定します。 SOAP_AUTHENTICATION_BASICSOAP_AUTHENTICATION_DIGEST が指定できます。

省略された場合、 かつ login オプションが指定されると Basic 認証を使います。

login string

Basic 認証と、Digest 認証で使うユーザー名を指定します。

password string

Basic 認証と、Digest 認証で使うパスワードを指定します。

HTTPS クライアント認証で使う passphrase と混同しないようにして下さい。

local_cert string

HTTPS 認証で使うクライアント証明書のパス。 証明書ファイルは、 証明書と秘密鍵が両方入った状態で、 PEMエンコードされている必要があります。

このファイルには、発行者のチェインも含めることができます。 それらを含める場合、クライアント証明書の後に置く必要があります。

stream_context でも設定できます。 この場合、秘密鍵のファイルは別に指定できます。

passphrase string

local_cert オプションで指定したクライアント証明書のための パスフレーズ。

Basic 認証や Digest 認証で使う password と混同しないようにして下さい。

stream_context でも設定できます。

proxy_host string

HTTPリクエスト時に使う、 プロキシサーバーとして用いるホスト名を指定します。

proxy_port オプションも指定する必要があります。

proxy_port int

proxy_host で指定したプロキシサーバーに接続する際に使うポート番号。

proxy_login string

proxy_host で指定したプロキシサーバーに接続する際に、 Basic 認証で用いるオプションのユーザー名

proxy_password string

proxy_host で指定したプロキシサーバーに接続する際に、 Basic 認証で用いるオプションのパスワード

compression int

SOAP リクエストとレスポンスの圧縮を有効にします。

この値は、3つの値を ビット演算のOR で指定します: オプションの SOAP_COMPRESSION_ACCEPT は、"Accept-Encoding" ヘッダを指定します。 SOAP_COMPRESSION_GZIPSOAP_COMPRESSION_DEFLATE は、使用する圧縮アルゴリズムと、 リクエストで使う圧縮レベルを 1 から 9 の間の数値で指定します。 たとえば、双方向の gzip 圧縮を最高の圧縮レベルで行う場合は、 SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9 を指定します。

encoding string

内部的な文字エンコーディングを指定します。 リクエストはここで指定されたエンコーディングから、 常に UTF-8 に変換して送られ、 レスポンスはこのエンコーディングに変換されます。

trace bool

リクエストやレスポンスのキャプチャを行います。 キャプチャした情報は SoapClient::__getLastRequest(), SoapClient::__getLastRequestHeaders(), SoapClient::__getLastResponse(), SoapClient::__getLastResponseHeaders(). を使ってアクセスできます。

省略した場合のデフォルト値は false です。

classmap array

WSDL 型を PHP クラスにマッピングするために使用可能です。 このオプションには、キーとしてWSDL 型、 値として PHP クラスの名前を持つ配列を指定する必要があります。 型の名前は、 要素の(タグ)名前と一致させる必要はないことに注意して下さい。

指定するクラス名は、常に 名前空間 で完全修飾されているべきですし、 \ で始まってはいけません。 正しい名前は、 ::class を使えば生成できます。

クラスのインスタンスを生成する場合、 コンストラクタはコールされず、 個別のプロパティに対して マジックメソッド __set()__get() が コールされる点にも注意して下さい。

typemap array

ユーザー定義のコールバック関数を使って、 型マッピングを定義します。 型マッピングは配列で定義され、 キーは type_name (XML 要素型を指定した文字列)、 type_ns (名前空間URI を指定した文字列)、 from_xml (文字列を受け取り、 オブジェクトを返す callable)、 to_xml (オブジェクトをひとつ受け取り、 文字列を返す callable) です。

exceptions bool

エラーが起きた際に、 SoapFault をスローするかどうかを指定します。

デフォルトは true です。