Source of: /manual/en/soapclient.dorequest.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.dorequest.php',
1 => 'SoapClient::__doRequest',
),
'up' =>
array (
0 => 'class.soapclient.php',
1 => 'The SoapClient class',
),
'prev' =>
array (
0 => 'soapclient.construct.php',
1 => 'SoapClient::__construct',
),
'next' =>
array (
0 => 'soapclient.getfunctions.php',
1 => 'SoapClient::__getFunctions',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="soapclient.dorequest" class="refentry">
<div class="refnamediv">
<h1 class="refname">SoapClient::__doRequest</h1>
<p class="verinfo">(PHP 5 >= 5.0.1)</p><p class="refpurpose"><span class="refname">SoapClient::__doRequest</span> — <span class="dc-title">Performs a SOAP request</span></p>
</div>
<a name="soapclient.dorequest.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="modifier">public</span> <span class="type">string</span> <span class="methodname"><b>SoapClient::__doRequest</b></span>
( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$request</tt></span>
, <span class="methodparam"><span class="type">string</span> <tt class="parameter">$location</tt></span>
, <span class="methodparam"><span class="type">string</span> <tt class="parameter">$action</tt></span>
, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$version</tt></span>
[, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$one_way</tt><span class="initializer"> = 0</span></span>
] )</div>
<p class="para rdfs-comment">
Performs SOAP request over HTTP.
</p>
<p class="para">
This method can be overridden in subclasses to implement different transport
layers, perform additional XML processing or other purpose.
</p>
</div>
<a name="soapclient.dorequest.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">request</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The XML SOAP request.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">location</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The URL to request.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">action</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The SOAP action.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">version</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The SOAP version.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">one_way</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
If <i>one_way</i> is set to 1, this method returns nothing.
Use this where a response is not expected.
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="soapclient.dorequest.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
The XML SOAP response.
</p>
</div>
<a name="soapclient.dorequest.changelog"></a><div class="refsect1 changelog">
<h3 class="title">Changelog</h3>
<p class="para">
</p><table class="doctable informaltable">
<thead valign="middle">
<tr valign="middle">
<th>Version</th>
<th>Description</th>
</tr>
</thead>
<tbody valign="middle" class="tbody">
<tr valign="middle">
<td align="left">5.1.3</td>
<td align="left">
The <i><tt class="parameter">one_way</tt></i>
parameter was added.
</td>
</tr>
</tbody>
</table>
<p>
</p>
</div>
<a name="soapclient.dorequest.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 <b>SoapClient::__doRequest()</b> example</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">Add</span><span style="color: #007700">(</span><span style="color: #0000BB">$x</span><span style="color: #007700">,</span><span style="color: #0000BB">$y</span><span style="color: #007700">) {<br /> return </span><span style="color: #0000BB">$x</span><span style="color: #007700">+</span><span style="color: #0000BB">$y</span><span style="color: #007700">;<br />}<br /><br />class </span><span style="color: #0000BB">LocalSoapClient </span><span style="color: #007700">extends </span><span style="color: #0000BB">SoapClient </span><span style="color: #007700">{<br /><br /> function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$wsdl</span><span style="color: #007700">, </span><span style="color: #0000BB">$options</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">parent</span><span style="color: #007700">::</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$wsdl</span><span style="color: #007700">, </span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">server </span><span style="color: #007700">= new </span><span style="color: #0000BB">SoapServer</span><span style="color: #007700">(</span><span style="color: #0000BB">$wsdl</span><span style="color: #007700">, </span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">server</span><span style="color: #007700">-></span><span style="color: #0000BB">addFunction</span><span style="color: #007700">(</span><span style="color: #DD0000">'Add'</span><span style="color: #007700">);<br /> }<br /><br /> function </span><span style="color: #0000BB">__doRequest</span><span style="color: #007700">(</span><span style="color: #0000BB">$request</span><span style="color: #007700">, </span><span style="color: #0000BB">$location</span><span style="color: #007700">, </span><span style="color: #0000BB">$action</span><span style="color: #007700">, </span><span style="color: #0000BB">$version</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">ob_start</span><span style="color: #007700">();<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">server</span><span style="color: #007700">-></span><span style="color: #0000BB">handle</span><span style="color: #007700">(</span><span style="color: #0000BB">$request</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">ob_get_contents</span><span style="color: #007700">();<br /> </span><span style="color: #0000BB">ob_end_clean</span><span style="color: #007700">();<br /> return </span><span style="color: #0000BB">$response</span><span style="color: #007700">;<br /> }<br /><br />}<br /><br /></span><span style="color: #0000BB">$x </span><span style="color: #007700">= new </span><span style="color: #0000BB">LocalSoapClient</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">'test://'</span><span style="color: #007700">, <br /> </span><span style="color: #DD0000">'uri'</span><span style="color: #007700">=></span><span style="color: #DD0000">'http://testuri.org'</span><span style="color: #007700">)); <br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$x</span><span style="color: #007700">-></span><span style="color: #0000BB">Add</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
</div>
</div><?php manual_footer(); ?>