Source of: /manual/en/soapclient.soapcall.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.soapclient.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'soapclient.soapcall.php',
1 => 'SoapClient::__soapCall',
),
'up' =>
array (
0 => 'class.soapclient.php',
1 => 'The SoapClient class',
),
'prev' =>
array (
0 => 'soapclient.setsoapheaders.php',
1 => 'SoapClient::__setSoapHeaders',
),
'next' =>
array (
0 => 'soapclient.soapclient.php',
1 => 'SoapClient::SoapClient',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="soapclient.soapcall" class="refentry">
<div class="refnamediv">
<h1 class="refname">SoapClient::__soapCall</h1>
<p class="verinfo">(PHP 5 >= 5.0.1)</p><p class="refpurpose"><span class="refname">SoapClient::__soapCall</span> — <span class="dc-title">Calls a SOAP function</span></p>
</div>
<a name="soapclient.soapcall.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="modifier">public</span> <span class="type"><a href="language.pseudo-types.php#language.types.mixed" class="type mixed">mixed</a></span> <span class="methodname"><b>SoapClient::__soapCall</b></span>
( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$function_name</tt></span>
, <span class="methodparam"><span class="type">array</span> <tt class="parameter">$arguments</tt></span>
[, <span class="methodparam"><span class="type">array</span> <tt class="parameter">$options</tt></span>
[, <span class="methodparam"><span class="type"><a href="language.pseudo-types.php#language.types.mixed" class="type mixed">mixed</a></span> <tt class="parameter">$input_headers</tt></span>
[, <span class="methodparam"><span class="type">array</span> <tt class="parameter reference">&$output_headers</tt></span>
]]] )</div>
<p class="para rdfs-comment">
This is a low level API function that is used to make a SOAP call. Usually,
in WSDL mode, SOAP functions can be called as methods of the
<a href="class.soapclient.php" class="classname">SoapClient</a> object. This method is useful in non-WSDL
mode when <i>soapaction</i> is unknown, <i>uri</i>
differs from the default or when sending and/or receiving SOAP Headers.
</p>
<p class="para">
On error, a call to a SOAP function can cause PHP to throw exceptions or return a
<a href="class.soapfault.php" class="classname">SoapFault</a> object if exceptions are disabled.
To check if the function call failed to catch the SoapFault exceptions,
check the result with <a href="function.is-soap-fault.php" class="function">is_soap_fault()</a>.
</p>
</div>
<a name="soapclient.soapcall.parameters"></a><div class="refsect1 parameters">
<h3 class="title">Parameters</h3>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">function_name</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The name of the SOAP function to call.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">arguments</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
An array of the arguments to pass to the function. This can be either
an ordered or an associative array.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">options</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
An associative array of options to pass to the client.
</p>
<p class="para">
The <i>location</i> option is the URL of the remote Web service.
</p>
<p class="para">
The <i>uri</i> option is the target namespace of the SOAP service.
</p>
<p class="para">
The <i>soapaction</i> option is the action to call.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">input_headers</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
An array of headers to be sent along with the SOAP request.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">output_headers</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
If supplied, this array will be filled with the headers from the SOAP response.
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="soapclient.soapcall.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
SOAP functions may return one, or multiple values. If only one value is returned
by the SOAP function, the return value of <i>__soapCall</i> will be
a simple value (e.g. an integer, a string, etc). If multiple values are
returned, <i>__soapCall</i> will return
an associative array of named output parameters.
</p>
<p class="para">
On error, if the SoapClient object was constructed with the <i>trace</i>
option set to <b><tt class="constant">FALSE</tt></b>, a SoapFault object will be returned.
</p>
</div>
<a name="soapclient.soapcall.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 <b>SoapClient::__soapCall()</b> example</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /><br />$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #DD0000">"some.wsdl"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">SomeFunction</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">__soapCall</span><span style="color: #007700">(</span><span style="color: #DD0000">"SomeFunction"</span><span style="color: #007700">, array(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">__soapCall</span><span style="color: #007700">(</span><span style="color: #DD0000">"SomeFunction"</span><span style="color: #007700">, array(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">), </span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br /> new </span><span style="color: #0000BB">SoapHeader</span><span style="color: #007700">(), </span><span style="color: #0000BB">$output_headers</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapClient</span><span style="color: #007700">(</span><span style="color: #0000BB">null</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'location' </span><span style="color: #007700">=> </span><span style="color: #DD0000">"http://localhost/soap.php"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'uri' </span><span style="color: #007700">=> </span><span style="color: #DD0000">"http://test-uri/"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">SomeFunction</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">__soapCall</span><span style="color: #007700">(</span><span style="color: #DD0000">"SomeFunction"</span><span style="color: #007700">, array(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">__soapCall</span><span style="color: #007700">(</span><span style="color: #DD0000">"SomeFunction"</span><span style="color: #007700">, array(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">),<br /> array(</span><span style="color: #DD0000">'soapaction' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'some_action'</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'uri' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'some_uri'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
</div>
<a name="soapclient.soapcall.seealso"></a><div class="refsect1 seealso">
<h3 class="title">See Also</h3>
<p class="para">
</p><ul class="simplelist">
<li class="member"> <span class="methodname"><a href="soapclient.soapclient.php" class="function" rel="rdfs-seeAlso">SoapClient::SoapClient</a> - SoapClient constructor</span></li>
<li class="member"> <span class="methodname"><a href="soapparam.soapparam.php" class="function" rel="rdfs-seeAlso">SoapParam::SoapParam</a> - SoapParam constructor</span></li>
<li class="member"> <span class="methodname"><a href="soapvar.soapvar.php" class="function" rel="rdfs-seeAlso">SoapVar::SoapVar</a> - SoapVar constructor</span></li>
<li class="member"> <span class="methodname"><a href="soapheader.soapheader.php" class="function" rel="rdfs-seeAlso">SoapHeader::SoapHeader</a> - SoapHeader constructor</span></li>
<li class="member"> <span class="methodname"><a href="soapfault.soapfault.php" class="function" rel="rdfs-seeAlso">SoapFault::SoapFault</a> - SoapFault constructor</span></li>
<li class="member"><a href="function.is-soap-fault.php" class="function" rel="rdfs-seeAlso">is_soap_fault()</a> - Checks if a SOAP call has failed</li>
</ul><p>
</p>
</div>
</div><?php manual_footer(); ?>