SoapClient::__call

(no version information, might be only in CVS)

SoapClient::__call --  SOAP関数をコールする

説明

mixed SoapClient::__call ( string function_name [, array arguments [, array options [, array input_headers [, array output_headers]]]])

本メソッドは、SOAPコールを行う低レベルAPI関数です。 通常、WSDLモードでは、SOAP関数をSoapClientのメソッドとして簡単にコールすることが できます。本メソッドは、soapactionが不明な場合や、 uri がデフォルトと異なっていたり、 SOAPヘッダを送受信したい場合に、非WSDLモードを使用する際に有用です。 エラーの場合、SOAP関数へのコールは、PHP例外または、例外が無効な場合に SoapFault オブジェクトが返されます。 この関数コールが失敗したかどうかを調べるには、 SoapFault 例外をキャッチするか、 is_soap_fault() 関数を指定して結果を調べて下さい。

SOAP 関数は、一つまたは複数の値を返す可能性があります。 前者では単に出力パラメータの値を返すだけですが、後者では出力パラメータの名前を 指定した連想配列として返します。

例 1. SoapClient::__call() の例

<?php
$client
= new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);
$client->__call("SomeFunction", array($a, $b, $c));
$client->__call("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->__call("SomeFunction", array($a, $b, $c));
$client->__call("SomeFunction", array($a, $b, $c),
                 array(
'soapaction' => 'some_action',
                       
'uri'        => 'some_uri'));
?>

SoapClient::SoapClient(), SoapParam::SoapParam(), SoapVar::SoapVar(), SoapHeader::SoapHeader(), SoapFault::SoapFault(), is_soap_fault()も参照して下さい。