SOAP 関数をコールする

# SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCall — SOAP 関数をコールする

### 説明

public function SoapClient::__soapCall(
string `$name`,
array `$args`,
?array `$options` = `null`,
SoapHeader|array|null `$inputHeaders` = `null`,
array `&$outputHeaders` = `null`
): mixed

本メソッドは、SOAP コールを行う低レベル API 関数です。 通常、WSDL モードでは、SOAP 関数を SoapClient のメソッドとして簡単にコールすることができます。 本メソッドは、`soapaction` が不明な場合や、 `uri` がデフォルトと異なっていたり、 SOAP ヘッダを送受信したい場合に、非 WSDL モードを使用する際に有用です。

エラーの場合に SOAP 関数を呼び出すと、PHP の例外が発生するか、例外が無効な場合には SoapFault オブジェクトが返されます。 この関数コールが失敗したかどうかを調べるには、 SoapFault 例外をキャッチするか、is_soap_fault() の結果を調べてください。

### パラメータ

`name`

  コールしたい SOAP 関数の名前。

`args`

  関数に渡す引数の配列。これは、数値添字配列あるいは連想配列のどちらの形式でもかまいません。 たいていの SOAP サーバーは、パラメータ名を指定しないといけないことに注意しましょう。 そんな場合は、連想配列でないといけません。

`options`

  クライアントに渡すオプションの連想配列。

  `location` はリモートウェブサービスの URL です。

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

  `soapaction` はコールしたいアクションです。

`inputHeaders`

  SOAP リクエストで送信するヘッダの配列。

`outputHeaders`

  指定すると、この配列に SOAP レスポンスのヘッダが書き込まれます。

### 戻り値

SOAP 関数は、一つまたは複数の値を返す可能性があります。 SOAP 関数から値をひとつだけ返す場合は、 返り値はスカラーになります。 複数の値を返す場合は、出力パラメータの名前がついた連想配列を返します。

エラーが発生した場合、 かつ SoapClient の `exceptions` を `false` に設定した場合は、 SoapFault オブジェクトを返します。

### 例

例1 SoapClient::__soapCall() の例

    <?php

    $client = new SoapClient("some.wsdl");
    $client->SomeFunction($a, $b, $c);

    $client->__soapCall("SomeFunction", array($a, $b, $c));
    $client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                        new SoapHeader(), $output_headers);

    $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                         'uri'      => "http://test-uri/"));
    $client->SomeFunction($a, $b, $c);
    $client->__soapCall("SomeFunction", array($a, $b, $c));
    $client->__soapCall("SomeFunction", array($a, $b, $c),
                        array('soapaction' => 'some_action',
                              'uri'        => 'some_uri'));
    ?>

### 参考

- SoapClient::__construct() - SoapClient のコンストラクタ
- SoapParam::__construct() - SoapParam コンストラクタ
- SoapVar::__construct() - SoapVar コンストラクタ
- SoapHeader::__construct() - SoapHeader コンストラクタ
- SoapFault::__construct() - SoapFault コンストラクタ
- is_soap_fault() - SOAP コールが失敗したかどうかを調べる

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open