<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = 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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'soapclient.soapcall.php',
    1 => 'SoapClient::__soapCall',
    2 => 'Вызывает SOAP-функцию',
  ),
  'up' => 
  array (
    0 => 'class.soapclient.php',
    1 => 'SoapClient',
  ),
  'prev' => 
  array (
    0 => 'soapclient.setsoapheaders.php',
    1 => 'SoapClient::__setSoapHeaders',
  ),
  'next' => 
  array (
    0 => 'class.soapserver.php',
    1 => 'SoapServer',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/soap/soapclient/soapcall.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="soapclient.soapcall" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">SoapClient::__soapCall</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">SoapClient::__soapCall</span> &mdash; <span class="dc-title">Вызывает SOAP-функцию</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-soapclient.soapcall-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>SoapClient::__soapCall</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$args</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$options</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="class.soapheader.php" class="type SoapHeader">SoapHeader</a></span>|<span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span> <code class="parameter">$inputHeaders</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$outputHeaders</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span><br>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>

  <p class="para rdfs-comment">
   Это низкоуровневая функция API, которая позволяет сделать SOAP-вызов.
   Обычно в режиме WSDL функции SOAP вызываются как методы объекта
   <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span>. Этот метод полезен в режиме, отличном от WSDL, когда
   <code class="literal">soapaction</code> неизвестен, <code class="literal">uri</code> отличается от
   URI по умолчанию или при отправке и/или получении SOAP-заголовков.
  </p>
  <p class="para">
   В случае возникновения ошибки вызов SOAP-функции может привести к исключению или к возврату
   объекта <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>, если исключения отключены.
   Чтобы проверить, что вызов функции завершился неудачей, поймав исключение SoapFault,
   проверьте результат с помощью <span class="function"><a href="function.is-soap-fault.php" class="function">is_soap_fault()</a></span>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-soapclient.soapcall-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">name</code></dt>
     <dd>
      <p class="para">
       Имя вызываемой SOAP-функции.
      </p>
     </dd>
    
    
     <dt><code class="parameter">args</code></dt>
     <dd>
      <p class="para">
       Массив аргументов, передаваемых в функцию. Это может быть упорядоченный
       или ассоциативный массив. Обратите внимание, что большинство SOAP-серверов
       требуют предоставлять имена параметров, и в этом случае это должен быть
       ассоциативный массив.
      </p>
     </dd>
    
    
     <dt><code class="parameter">options</code></dt>
     <dd>
      <p class="para">
       Ассоциативный массив настроек, передаваемых клиенту.
      </p>
      <p class="para">
       Настройка <code class="literal">location</code> - URL удалённой веб-службы.
      </p>
      <p class="para">
       Настройка <code class="literal">uri</code> - целевое пространство имён SOAP-службы.
      </p>
      <p class="para">
       Настройка <code class="literal">soapaction</code> - действие для вызова.
      </p>
    </dd>
    
    
     <dt><code class="parameter">inputHeaders</code></dt>
     <dd>
      <p class="para">
       Массив заголовков, отправляемых вместе с SOAP-запросом.
      </p>
     </dd>
    
    
     <dt><code class="parameter">outputHeaders</code></dt>
     <dd>
      <p class="para">
       Если указан, то этот массив будет заполнен заголовками из SOAP-ответа.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-soapclient.soapcall-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Функции SOAP могут возвращать одно или несколько значений. Если функция SOAP возвращает только одно значение,
   то возвращаемое значение будет скаляром.
   Если возвращается несколько значений, то вместо них возвращается ассоциативный массив именованных выходных параметров.
  </p>
  <p class="para">
   В случае возникновения ошибки, если объект <span class="classname"><a href="class.soapclient.php" class="classname">SoapClient</a></span> был объявлен
   с опцией <code class="literal">exceptions</code> со значением <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>,
   будет возвращён объект <span class="classname"><a href="class.soapfault.php" class="classname">SoapFault</a></span>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-soapclient.soapcall-examples">
  <h3 class="title">Примеры</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Пример #1 Пример использования <span class="methodname"><strong>SoapClient::__soapCall()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?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">-&gt;</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">-&gt;</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">-&gt;</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">=&gt; </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">=&gt; </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">-&gt;</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">-&gt;</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">-&gt;</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">=&gt; </span><span style="color: #DD0000">'some_action'</span><span style="color: #007700">,<br />                          </span><span style="color: #DD0000">'uri'        </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'some_uri'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-soapclient.soapcall-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="soapclient.construct.php" class="methodname" rel="rdfs-seeAlso">SoapClient::__construct()</a> - Конструктор класса SoapClient</span></li>
    <li><span class="methodname"><a href="soapparam.construct.php" class="methodname" rel="rdfs-seeAlso">SoapParam::__construct()</a> - Конструктор SoapParam</span></li>
    <li><span class="methodname"><a href="soapvar.construct.php" class="methodname" rel="rdfs-seeAlso">SoapVar::__construct()</a> - Конструктор SoapVar</span></li>
    <li><span class="methodname"><a href="soapheader.construct.php" class="methodname" rel="rdfs-seeAlso">SoapHeader::__construct()</a> - Конструктор SoapHeader</span></li>
    <li><span class="methodname"><a href="soapfault.construct.php" class="methodname" rel="rdfs-seeAlso">SoapFault::__construct()</a> - Инициализирует объект SoapFault</span></li>
    <li><span class="function"><a href="function.is-soap-fault.php" class="function" rel="rdfs-seeAlso">is_soap_fault()</a> - Проверяет, произошла ли ошибка при вызове SOAP</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>