com doc/ru: Обновлен ие до англи йской верси и: reference/soap/soapclient/construct.xml referen
ce/soap/soapclient/getfunctions.xml reference/soap/soapclie nt/gettypes.xml reference/soap/soapclient/setlocation.xml
reference/soap/soapclient/soapcall.xml reference/soap/so apfault/construct.xml reference/soap/soapheader/construct .xml
reference/soap/soapparam/construct.xml reference/s oap/soapserver/construct.xml
| From: | Sergey Panteleev | Date: | Mon, 25 Jan 2021 06:46:37 +0000 |
| Subject: | com doc/ru: Обновлен ие до англи йской верси и: reference/soap/soapclient/construct.xml referen ce/soap/soapclient/getfunctions.xml reference/soap/soapclie nt/gettypes.xml reference/soap/soapclient/setlocation.xml reference/soap/soapclient/soapcall.xml reference/soap/so apfault/construct.xml reference/soap/soapheader/construct .xml reference/soap/soapparam/construct.xml reference/s oap/soapserver/construct.xml |
||
| Groups: | php.doc.ru | ||
| Request: | Send a blank email to doc-ru+get-8770@lists.php.net to get a copy of this message | ||
Commit: e2ef4c1fb2812b82ea8471991583f71ee350795d
Author: Sergey Panteleev <sergey@php.net> Mon, 25 Jan 2021 09:41:49 +0300
Parents: dd68faae55d2c6c26ad68355e091b1702de37b7b
Branches: master
Link: http://git.php.net/?p=doc/ru.git;a=commitdiff;h=e2ef4c1fb2812b82ea8471991583f71ee350795d
Log:
Обновление до английской версии
Changed paths:
M reference/soap/soapclient/construct.xml
M reference/soap/soapclient/getfunctions.xml
M reference/soap/soapclient/gettypes.xml
M reference/soap/soapclient/setlocation.xml
M reference/soap/soapclient/soapcall.xml
M reference/soap/soapfault/construct.xml
M reference/soap/soapheader/construct.xml
M reference/soap/soapparam/construct.xml
M reference/soap/soapserver/construct.xml
diff --git a/reference/soap/soapclient/construct.xml b/reference/soap/soapclient/construct.xml index 5b3ef5e75..b10dff4f7 100644 --- a/reference/soap/soapclient/construct.xml +++ b/reference/soap/soapclient/construct.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- $Revision$ --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -16,7 +16,215 @@ <methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapClient::SoapClient</methodname> + Конструктор создаёт объекты <classname>SoapClient</classname> + в режиме <literal>WSDL</literal> или <literal>не-WSDL</literal>. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>wsdl</parameter></term> + <listitem> + <para> + URI файла <literal>WSDL</literal> или &null;, если + работа происходит в режиме <literal>не-WSDL</literal>. + </para> + <note> + <para> + Во время разработки кеширование WSDL можно отключить, + используя настройку <literal>soap.wsdl_cache_ttl</literal> в &php.ini;, + иначе изменения, сделанные в WSDL файле, не будут иметь эффекта + до тех пор, пока не истечёт время, указанное в <literal>soap.wsdl_cache_ttl</literal>. + </para> + </note> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>options</parameter></term> + <listitem> + <para> + Массив настроек. Если работа происходит в режиме WSDL, то этот параметр необязательный. + Если в не-WSDL режиме, то должны быть установлены опции + <literal>location</literal> и <literal>uri</literal>, + где <literal>location</literal> - URL сервера SOAP, к которому отправляется запрос, а + <literal>uri</literal> - целевое пространство имён SOAP-сервиса. + </para> + <para> + Опции <literal>style</literal> и <literal>use</literal> + используются только в не-WSDL режиме. В режиме WSDL они поступают из WSDL-файла. + </para> + <para> + Опция <literal>soap_version</literal> должна быть равна + либо <constant>SOAP_1_1</constant>, либо <constant>SOAP_1_2</constant>, + чтобы использовать соответственно SOAP 1.1 или 1.2. Если параметр пропущен, + то используется 1.1. + </para> + <para> + Для HTTP-аутентификации могут быть использованы опции + <literal>login</literal> и <literal>password</literal> для предоставления учётных данных. + Для реализации HTTP-соединения через прокси-сервер доступны настройки + <literal>proxy_host</literal>, <literal>proxy_port</literal>, + <literal>proxy_login</literal> и <literal>proxy_password</literal>. + Для аутентификации сертификата клиента HTTPS используются + опции <literal>local_cert</literal> и <literal>passphrase</literal>. + Аутентификация может быть предоставлена в опции <literal>authentication</literal>. + Метод аутентификации может быть + <constant>SOAP_AUTHENTICATION_BASIC</constant> (по умолчанию) или + <constant>SOAP_AUTHENTICATION_DIGEST</constant>. + </para> + <para> + Опция <literal>compression</literal> позволяет использовать + сжатие запросов и ответов HTTP SOAP. + </para> + <para> + Опция <literal>encoding</literal> определяет внутреннюю кодировку. + Опция не меняет кодировку SOAP-запросов (она всегда utf-8), + но преобразует строки в неё. + </para> + <para> + Опция <literal>trace</literal> включает отслеживание запроса и в случае ошибки + можно получить обратную трассировку. По умолчанию имеет значение &false;. + </para> + <para> + Опция <literal>classmap</literal> может использоваться для сопоставления + некоторых WSDL-типов с PHP-классами. Опция должна представлять собой массив, + в качестве ключей которого указаны WSDL-типы, а в качестве значений - имена классов PHP. + </para> + <para> + Установленная булевая опция <literal>trace</literal> + позволяет использовать следующие методы: + <link linkend="soapclient.getlastrequest"> + SoapClient->__getLastRequest</link>, + <link linkend="soapclient.getlastrequestheaders"> + SoapClient->__getLastRequestHeaders</link>, + <link linkend="soapclient.getlastresponse"> + SoapClient->__getLastResponse</link> и + <link linkend="soapclient.getlastresponseheaders"> + SoapClient->__getLastResponseHeaders</link>. + </para> + <para> + Опция <literal>exceptions</literal> принимает логическое значение, определяющее, + будут ли SOAP-ошибки бросать исключения типа <link linkend="soapfault.construct"> + SoapFault</link>. + </para> + <para> + Опция <literal>connection_timeout</literal> определяет тайм-аут в секундах + для соединения с SOAP-сервисом. Опция не устанавливает тайм-аут для сервисов с + медленными ответами. Для ограничения времени ожидания вызовов используется + <link linkend="ini.default-socket-timeout">default_socket_timeout</link>. + </para> + <para> + Опция <literal>typemap</literal> является массивом сопоставления типов. + Массив сопоставления типов - это массив с ключами <literal>type_name</literal>, + <literal>type_ns</literal> (URI пространства имён), <literal>from_xml</literal> + (функция обратного вызова принимает один строковый параметр) и + <literal>to_xml</literal> (функция обратного вызова принимает объект в качестве параметра). + </para> + <para> + Опция <literal>cache_wsdl</literal> принимает одно из значений: + <constant>WSDL_CACHE_NONE</constant>, + <constant>WSDL_CACHE_DISK</constant>, + <constant>WSDL_CACHE_MEMORY</constant> или + <constant>WSDL_CACHE_BOTH</constant>. + </para> + <para> + Опция <literal>user_agent</literal> определяет строку для использования + в заголовке <literal>User-Agent</literal>. + </para> + <para> + Опция <literal>stream_context</literal> - это <type>resource</type> для + <link linkend="context">context</link>. + </para> + <para> + Опция <literal>features</literal> является битовой маской + <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant>, + <constant>SOAP_USE_XSI_ARRAY_TYPE</constant>, + <constant>SOAP_WAIT_ONE_WAY_CALLS</constant>. + </para> + <para> + Опция <literal>keep_alive</literal> является логическим значением, определяющим, + какой заголовок отправлять: <literal>Connection: Keep-Alive</literal> или + <literal>Connection: close</literal>. + </para> + <para> + Опция <literal>ssl_method</literal> должна быть равной + <constant>SOAP_SSL_METHOD_TLS</constant>, + <constant>SOAP_SSL_METHOD_SSLv2</constant>, + <constant>SOAP_SSL_METHOD_SSLv3</constant> или + <constant>SOAP_SSL_METHOD_SSLv23</constant>. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="errors"> + &reftitle.errors; + <para> + <methodname>SoapClient::SoapClient</methodname> генерирует ошибку + <constant>E_ERROR</constant>, если опции <literal>location</literal> и + <literal>uri</literal> не передаются в не-WSDL режиме. + </para> + <para> + Исключение <classname>SoapFault</classname> будет выбрасываться, если + <parameter>wsdl</parameter> URI не может быть загружен. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapClient::SoapClient</function></title> + <programlisting role="php"> + <![CDATA[ +<?php + +$client = new SoapClient("some.wsdl"); + +$client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2)); + +$client = new SoapClient("some.wsdl", array('login' => "some_name", + 'password' => "some_password")); + +$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost", + 'proxy_port' => 8080)); + +$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost", + 'proxy_port' => 8080, + 'proxy_login' => "some_name", + 'proxy_password' => "some_password")); + +$client = new SoapClient("some.wsdl", array('local_cert' => "cert_key.pem")); + +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); + +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/", + 'style' => SOAP_DOCUMENT, + 'use' => SOAP_LITERAL)); + +$client = new SoapClient("some.wsdl", + array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP)); + +$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1')); + +class MyBook { + public $title; + public $author; +} + +$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook"))); + +?> +]]> + </programlisting> + </example> </para> </refsect1> diff --git a/reference/soap/soapclient/getfunctions.xml b/reference/soap/soapclient/getfunctions.xml index dfdd212c7..8a2c10a17 100644 --- a/reference/soap/soapclient/getfunctions.xml +++ b/reference/soap/soapclient/getfunctions.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: bfl Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: bfl Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <!-- $Revision$ --> <refentry xml:id="soapclient.getfunctions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -74,7 +74,7 @@ array(26) { &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/gettypes.xml b/reference/soap/soapclient/gettypes.xml index a7ef1bd92..5c1df531f 100644 --- a/reference/soap/soapclient/gettypes.xml +++ b/reference/soap/soapclient/gettypes.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.gettypes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -91,7 +91,7 @@ array(88) { &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/setlocation.xml b/reference/soap/soapclient/setlocation.xml index d0132cc05..356e2be57 100644 --- a/reference/soap/soapclient/setlocation.xml +++ b/reference/soap/soapclient/setlocation.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.setlocation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -82,7 +82,7 @@ http://www.somethirdparty.com &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/soapcall.xml b/reference/soap/soapclient/soapcall.xml index b3a2396ba..9224ada0d 100644 --- a/reference/soap/soapclient/soapcall.xml +++ b/reference/soap/soapclient/soapcall.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <!-- $Revision$ --> <refentry xml:id="soapclient.soapcall" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -144,11 +144,11 @@ $client->__soapCall("SomeFunction", array($a, $b, $c), &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> - <member><methodname>SoapParam::SoapParam</methodname></member> - <member><methodname>SoapVar::SoapVar</methodname></member> - <member><methodname>SoapHeader::SoapHeader</methodname></member> - <member><methodname>SoapFault::SoapFault</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> + <member><methodname>SoapParam::__construct</methodname></member> + <member><methodname>SoapVar::__construct</methodname></member> + <member><methodname>SoapHeader::__construct</methodname></member> + <member><methodname>SoapFault::__construct</methodname></member> <member><function>is_soap_fault</function></member> </simplelist> </para> diff --git a/reference/soap/soapfault/construct.xml b/reference/soap/soapfault/construct.xml index c861b725a..67cf56737 100644 --- a/reference/soap/soapfault/construct.xml +++ b/reference/soap/soapfault/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapfault.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -20,10 +20,124 @@ <methodparam choice="opt"><type>mixed</type><parameter>headerFault</parameter><initializer>&null;</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapFault::SoapFault</methodname> + Этот класс служит для отправки ответа на ошибку SOAP из обработчика PHP. + <parameter>faultcode</parameter>, <parameter>faultstring</parameter>, + <parameter>faultactor</parameter> и <parameter>detail</parameter> являются + стандартными элементами ошибки SOAP. </para> </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>faultcode</parameter></term> + <listitem> + <para> + Код ошибки <classname>SoapFault</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultstring</parameter></term> + <listitem> + <para> + Сообщение об ошибке <classname>SoapFault</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultactor</parameter></term> + <listitem> + <para> + Строка идентифицирующая отправителя, вызвавшего ошибку. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>detail</parameter></term> + <listitem> + <para> + Детальная информация о причинах ошибки. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultname</parameter></term> + <listitem> + <para> + Может быть использовано для выбора корректной кодировки ошибки из WSDL. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>headerfault</parameter></term> + <listitem> + <para> + Может быть использовано во время обработки заголовка SOAP для + сообщения об ошибке в заголовке ответа. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Несколько примеров</title> + <programlisting role="php"> +<![CDATA[ +<?php +function test($x) +{ + return new SoapFault("Server", "Сообщение об ошибке"); +} + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); +$server->addFunction("test"); +$server->handle(); +?> +]]> + </programlisting> + </example> + </para> + <para> + Можно использовать механизм исключений PHP для сообщения об ошибках SOAP. + </para> + <para> + <example> + <title>Несколько примеров</title> + <programlisting role="php"> +<![CDATA[ +<?php +function test($x) +{ + throw new SoapFault("Server", "Some error message"); +} + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); +$server->addFunction("test"); +$server->handle(); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapServer::fault</methodname></member> + <member><function>is_soap_fault</function></member> + </simplelist> + </para> + </refsect1> </refentry> <!-- Keep this comment at the end of the file diff --git a/reference/soap/soapheader/construct.xml b/reference/soap/soapheader/construct.xml index f5cb22f9c..cb8730aca 100644 --- a/reference/soap/soapheader/construct.xml +++ b/reference/soap/soapheader/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 9a9533d480b39d3911605cdf52addeb8ad97eb51 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapheader.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -19,7 +19,89 @@ <methodparam choice="opt"><type>string</type><parameter>actor</parameter></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapHeader::SoapHeader</methodname> + Создаёт новый объект SoapHeader. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>namespace</parameter></term> + <listitem> + <para> + Пространство имён для элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>name</parameter></term> + <listitem> + <para> + Имя объекта SoapHeader. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>data</parameter></term> + <listitem> + <para> + Содержимое заголовка SOAP. Может быть как значением PHP, так и объектом + <classname>SoapVar</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>mustUnderstand</parameter></term> + <listitem> + <para> + Значение атрибута <literal>mustUnderstand</literal> элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>actor</parameter></term> + <listitem> + <para> + Значение атрибута <literal>actor</literal> элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapHeader::SoapHeader</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); +$client->__soapCall("echoVoid", null, null, + new SoapHeader('http://soapinterop.org/echoheader/', + 'echoMeStringRequest', + 'hello world')); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::__soapCall</methodname></member> + <member><methodname>SoapVar::SoapVar</methodname></member> + <member><methodname>SoapParam::SoapParam</methodname></member> + <member><methodname>SoapServer::addSoapHeader</methodname></member> + </simplelist> </para> </refsect1> diff --git a/reference/soap/soapparam/construct.xml b/reference/soap/soapparam/construct.xml index ba88b0dd4..de4b5cd91 100644 --- a/reference/soap/soapparam/construct.xml +++ b/reference/soap/soapparam/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapparam.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -16,7 +16,63 @@ <methodparam><type>string</type><parameter>name</parameter></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapParam::SoapParam</methodname> + Создаёт новый объект <classname>SoapParam</classname>. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>data</parameter></term> + <listitem> + <para> + Данные для передачи или возврата. Этот параметр может передаваться непосредственно как + значение PHP, но в этом случае он будет называться <literal>paramN</literal>, и + служба SOAP может его не понять. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>name</parameter></term> + <listitem> + <para> + Имя параметра. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapParam::SoapParam</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$client = new SoapClient(null,array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); +$client->SomeFunction(new SoapParam($a, "a"), + new SoapParam($b, "b"), + new SoapParam($c, "c")); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::__soapCall</methodname></member> + <member><methodname>SoapVar::SoapVar</methodname></member> + </simplelist> </para> </refsect1> diff --git a/reference/soap/soapserver/construct.xml b/reference/soap/soapserver/construct.xml index cbc47c1fa..f04fc573b 100644 --- a/reference/soap/soapserver/construct.xml +++ b/reference/soap/soapserver/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapserver.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -16,7 +16,108 @@ <methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapServer::SoapServer</methodname> + Данный конструктор позволяет создавать объекты <classname>SoapServer</classname> + в WSDL или не-WSDL режимах. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>wsdl</parameter></term> + <listitem> + <para> + Для использования SoapServer в режиме WSDL, укажите URI WSDL-файла. + В противном случае укажите &null; и установите опцию <literal>uri</literal> + равной пространству имён сервера. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>options</parameter></term> + <listitem> + <para> + Попытка установить версию SOAP по умолчанию (<literal>soap_version</literal>), + внутреннюю кодировку (<literal>encoding</literal>) + и URI отправителя (<literal>actor</literal>). + </para> + <para> + Опцию <literal>classmap</literal> можно использовать для сопоставления + некоторых типов WSDL с классами PHP. Данная опция должна быть массивом с + ключами равными типам WSDL и значениям равными именам классов PHP. + </para> + <para> + Опция <literal>typemap</literal> является массивом сопоставления типов. + Массив с ключами <literal>type_name</literal>, + <literal>type_ns</literal> (URI пространства имён), <literal>from_xml</literal> + (callback-функция, принимающая один строковый параметр) и <literal>to_xml</literal> + (callback-функция, принимающая один объект в качестве параметр). + </para> + <para> + Опция <literal>cache_wsdl</literal> задаётся одной из констант: + <constant>WSDL_CACHE_NONE</constant>, + <constant>WSDL_CACHE_DISK</constant>, + <constant>WSDL_CACHE_MEMORY</constant> или + <constant>WSDL_CACHE_BOTH</constant>. + </para> + <para> + Также есть опция <literal>features</literal>, которая задаётся одной из констант: + <constant>SOAP_WAIT_ONE_WAY_CALLS</constant>, + <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant> или + <constant>SOAP_USE_XSI_ARRAY_TYPE</constant>. + </para> + <para> + опция <literal>send_errors</literal> может быть установлена в &false; для отправки + общего сообщения об ошибке ("Internal error") вместо специального + сообщения об ошибке, отправляемого в противном случае. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapServer::SoapServer</function></title> + <programlisting role="php"> +<![CDATA[ +<?php + +$server = new SoapServer("some.wsdl"); + +$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2)); + +$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C")); + +$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1')); + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); + +class MyBook { + public $title; + public $author; +} + +$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook"))); + +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::SoapClient</methodname></member> + </simplelist> </para> </refsect1>
diff --git a/reference/soap/soapclient/construct.xml b/reference/soap/soapclient/construct.xml index 5b3ef5e75..b10dff4f7 100644 --- a/reference/soap/soapclient/construct.xml +++ b/reference/soap/soapclient/construct.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- $Revision$ --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -16,7 +16,215 @@ <methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapClient::SoapClient</methodname> + Конструктор создаёт объекты <classname>SoapClient</classname> + в режиме <literal>WSDL</literal> или <literal>не-WSDL</literal>. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>wsdl</parameter></term> + <listitem> + <para> + URI файла <literal>WSDL</literal> или &null;, если + работа происходит в режиме <literal>не-WSDL</literal>. + </para> + <note> + <para> + Во время разработки кеширование WSDL можно отключить, + используя настройку <literal>soap.wsdl_cache_ttl</literal> в &php.ini;, + иначе изменения, сделанные в WSDL файле, не будут иметь эффекта + до тех пор, пока не истечёт время, указанное в <literal>soap.wsdl_cache_ttl</literal>. + </para> + </note> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>options</parameter></term> + <listitem> + <para> + Массив настроек. Если работа происходит в режиме WSDL, то этот параметр необязательный. + Если в не-WSDL режиме, то должны быть установлены опции + <literal>location</literal> и <literal>uri</literal>, + где <literal>location</literal> - URL сервера SOAP, к которому отправляется запрос, а + <literal>uri</literal> - целевое пространство имён SOAP-сервиса. + </para> + <para> + Опции <literal>style</literal> и <literal>use</literal> + используются только в не-WSDL режиме. В режиме WSDL они поступают из WSDL-файла. + </para> + <para> + Опция <literal>soap_version</literal> должна быть равна + либо <constant>SOAP_1_1</constant>, либо <constant>SOAP_1_2</constant>, + чтобы использовать соответственно SOAP 1.1 или 1.2. Если параметр пропущен, + то используется 1.1. + </para> + <para> + Для HTTP-аутентификации могут быть использованы опции + <literal>login</literal> и <literal>password</literal> для предоставления учётных данных. + Для реализации HTTP-соединения через прокси-сервер доступны настройки + <literal>proxy_host</literal>, <literal>proxy_port</literal>, + <literal>proxy_login</literal> и <literal>proxy_password</literal>. + Для аутентификации сертификата клиента HTTPS используются + опции <literal>local_cert</literal> и <literal>passphrase</literal>. + Аутентификация может быть предоставлена в опции <literal>authentication</literal>. + Метод аутентификации может быть + <constant>SOAP_AUTHENTICATION_BASIC</constant> (по умолчанию) или + <constant>SOAP_AUTHENTICATION_DIGEST</constant>. + </para> + <para> + Опция <literal>compression</literal> позволяет использовать + сжатие запросов и ответов HTTP SOAP. + </para> + <para> + Опция <literal>encoding</literal> определяет внутреннюю кодировку. + Опция не меняет кодировку SOAP-запросов (она всегда utf-8), + но преобразует строки в неё. + </para> + <para> + Опция <literal>trace</literal> включает отслеживание запроса и в случае ошибки + можно получить обратную трассировку. По умолчанию имеет значение &false;. + </para> + <para> + Опция <literal>classmap</literal> может использоваться для сопоставления + некоторых WSDL-типов с PHP-классами. Опция должна представлять собой массив, + в качестве ключей которого указаны WSDL-типы, а в качестве значений - имена классов PHP. + </para> + <para> + Установленная булевая опция <literal>trace</literal> + позволяет использовать следующие методы: + <link linkend="soapclient.getlastrequest"> + SoapClient->__getLastRequest</link>, + <link linkend="soapclient.getlastrequestheaders"> + SoapClient->__getLastRequestHeaders</link>, + <link linkend="soapclient.getlastresponse"> + SoapClient->__getLastResponse</link> и + <link linkend="soapclient.getlastresponseheaders"> + SoapClient->__getLastResponseHeaders</link>. + </para> + <para> + Опция <literal>exceptions</literal> принимает логическое значение, определяющее, + будут ли SOAP-ошибки бросать исключения типа <link linkend="soapfault.construct"> + SoapFault</link>. + </para> + <para> + Опция <literal>connection_timeout</literal> определяет тайм-аут в секундах + для соединения с SOAP-сервисом. Опция не устанавливает тайм-аут для сервисов с + медленными ответами. Для ограничения времени ожидания вызовов используется + <link linkend="ini.default-socket-timeout">default_socket_timeout</link>. + </para> + <para> + Опция <literal>typemap</literal> является массивом сопоставления типов. + Массив сопоставления типов - это массив с ключами <literal>type_name</literal>, + <literal>type_ns</literal> (URI пространства имён), <literal>from_xml</literal> + (функция обратного вызова принимает один строковый параметр) и + <literal>to_xml</literal> (функция обратного вызова принимает объект в качестве параметра). + </para> + <para> + Опция <literal>cache_wsdl</literal> принимает одно из значений: + <constant>WSDL_CACHE_NONE</constant>, + <constant>WSDL_CACHE_DISK</constant>, + <constant>WSDL_CACHE_MEMORY</constant> или + <constant>WSDL_CACHE_BOTH</constant>. + </para> + <para> + Опция <literal>user_agent</literal> определяет строку для использования + в заголовке <literal>User-Agent</literal>. + </para> + <para> + Опция <literal>stream_context</literal> - это <type>resource</type> для + <link linkend="context">context</link>. + </para> + <para> + Опция <literal>features</literal> является битовой маской + <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant>, + <constant>SOAP_USE_XSI_ARRAY_TYPE</constant>, + <constant>SOAP_WAIT_ONE_WAY_CALLS</constant>. + </para> + <para> + Опция <literal>keep_alive</literal> является логическим значением, определяющим, + какой заголовок отправлять: <literal>Connection: Keep-Alive</literal> или + <literal>Connection: close</literal>. + </para> + <para> + Опция <literal>ssl_method</literal> должна быть равной + <constant>SOAP_SSL_METHOD_TLS</constant>, + <constant>SOAP_SSL_METHOD_SSLv2</constant>, + <constant>SOAP_SSL_METHOD_SSLv3</constant> или + <constant>SOAP_SSL_METHOD_SSLv23</constant>. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="errors"> + &reftitle.errors; + <para> + <methodname>SoapClient::SoapClient</methodname> генерирует ошибку + <constant>E_ERROR</constant>, если опции <literal>location</literal> и + <literal>uri</literal> не передаются в не-WSDL режиме. + </para> + <para> + Исключение <classname>SoapFault</classname> будет выбрасываться, если + <parameter>wsdl</parameter> URI не может быть загружен. + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapClient::SoapClient</function></title> + <programlisting role="php"> + <![CDATA[ +<?php + +$client = new SoapClient("some.wsdl"); + +$client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2)); + +$client = new SoapClient("some.wsdl", array('login' => "some_name", + 'password' => "some_password")); + +$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost", + 'proxy_port' => 8080)); + +$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost", + 'proxy_port' => 8080, + 'proxy_login' => "some_name", + 'proxy_password' => "some_password")); + +$client = new SoapClient("some.wsdl", array('local_cert' => "cert_key.pem")); + +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); + +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/", + 'style' => SOAP_DOCUMENT, + 'use' => SOAP_LITERAL)); + +$client = new SoapClient("some.wsdl", + array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP)); + +$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1')); + +class MyBook { + public $title; + public $author; +} + +$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook"))); + +?> +]]> + </programlisting> + </example> </para> </refsect1> diff --git a/reference/soap/soapclient/getfunctions.xml b/reference/soap/soapclient/getfunctions.xml index dfdd212c7..8a2c10a17 100644 --- a/reference/soap/soapclient/getfunctions.xml +++ b/reference/soap/soapclient/getfunctions.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: bfl Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: bfl Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <!-- $Revision$ --> <refentry xml:id="soapclient.getfunctions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -74,7 +74,7 @@ array(26) { &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/gettypes.xml b/reference/soap/soapclient/gettypes.xml index a7ef1bd92..5c1df531f 100644 --- a/reference/soap/soapclient/gettypes.xml +++ b/reference/soap/soapclient/gettypes.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.gettypes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -91,7 +91,7 @@ array(88) { &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/setlocation.xml b/reference/soap/soapclient/setlocation.xml index d0132cc05..356e2be57 100644 --- a/reference/soap/soapclient/setlocation.xml +++ b/reference/soap/soapclient/setlocation.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapclient.setlocation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -82,7 +82,7 @@ http://www.somethirdparty.com &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> </simplelist> </para> </refsect1> diff --git a/reference/soap/soapclient/soapcall.xml b/reference/soap/soapclient/soapcall.xml index b3a2396ba..9224ada0d 100644 --- a/reference/soap/soapclient/soapcall.xml +++ b/reference/soap/soapclient/soapcall.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: mch Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: mch Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <!-- $Revision$ --> <refentry xml:id="soapclient.soapcall" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -144,11 +144,11 @@ $client->__soapCall("SomeFunction", array($a, $b, $c), &reftitle.seealso; <para> <simplelist> - <member><methodname>SoapClient::SoapClient</methodname></member> - <member><methodname>SoapParam::SoapParam</methodname></member> - <member><methodname>SoapVar::SoapVar</methodname></member> - <member><methodname>SoapHeader::SoapHeader</methodname></member> - <member><methodname>SoapFault::SoapFault</methodname></member> + <member><methodname>SoapClient::__construct</methodname></member> + <member><methodname>SoapParam::__construct</methodname></member> + <member><methodname>SoapVar::__construct</methodname></member> + <member><methodname>SoapHeader::__construct</methodname></member> + <member><methodname>SoapFault::__construct</methodname></member> <member><function>is_soap_fault</function></member> </simplelist> </para> diff --git a/reference/soap/soapfault/construct.xml b/reference/soap/soapfault/construct.xml index c861b725a..67cf56737 100644 --- a/reference/soap/soapfault/construct.xml +++ b/reference/soap/soapfault/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapfault.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -20,10 +20,124 @@ <methodparam choice="opt"><type>mixed</type><parameter>headerFault</parameter><initializer>&null;</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapFault::SoapFault</methodname> + Этот класс служит для отправки ответа на ошибку SOAP из обработчика PHP. + <parameter>faultcode</parameter>, <parameter>faultstring</parameter>, + <parameter>faultactor</parameter> и <parameter>detail</parameter> являются + стандартными элементами ошибки SOAP. </para> </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>faultcode</parameter></term> + <listitem> + <para> + Код ошибки <classname>SoapFault</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultstring</parameter></term> + <listitem> + <para> + Сообщение об ошибке <classname>SoapFault</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultactor</parameter></term> + <listitem> + <para> + Строка идентифицирующая отправителя, вызвавшего ошибку. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>detail</parameter></term> + <listitem> + <para> + Детальная информация о причинах ошибки. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>faultname</parameter></term> + <listitem> + <para> + Может быть использовано для выбора корректной кодировки ошибки из WSDL. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>headerfault</parameter></term> + <listitem> + <para> + Может быть использовано во время обработки заголовка SOAP для + сообщения об ошибке в заголовке ответа. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Несколько примеров</title> + <programlisting role="php"> +<![CDATA[ +<?php +function test($x) +{ + return new SoapFault("Server", "Сообщение об ошибке"); +} + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); +$server->addFunction("test"); +$server->handle(); +?> +]]> + </programlisting> + </example> + </para> + <para> + Можно использовать механизм исключений PHP для сообщения об ошибках SOAP. + </para> + <para> + <example> + <title>Несколько примеров</title> + <programlisting role="php"> +<![CDATA[ +<?php +function test($x) +{ + throw new SoapFault("Server", "Some error message"); +} + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); +$server->addFunction("test"); +$server->handle(); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapServer::fault</methodname></member> + <member><function>is_soap_fault</function></member> + </simplelist> + </para> + </refsect1> </refentry> <!-- Keep this comment at the end of the file diff --git a/reference/soap/soapheader/construct.xml b/reference/soap/soapheader/construct.xml index f5cb22f9c..cb8730aca 100644 --- a/reference/soap/soapheader/construct.xml +++ b/reference/soap/soapheader/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 9a9533d480b39d3911605cdf52addeb8ad97eb51 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapheader.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -19,7 +19,89 @@ <methodparam choice="opt"><type>string</type><parameter>actor</parameter></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapHeader::SoapHeader</methodname> + Создаёт новый объект SoapHeader. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>namespace</parameter></term> + <listitem> + <para> + Пространство имён для элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>name</parameter></term> + <listitem> + <para> + Имя объекта SoapHeader. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>data</parameter></term> + <listitem> + <para> + Содержимое заголовка SOAP. Может быть как значением PHP, так и объектом + <classname>SoapVar</classname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>mustUnderstand</parameter></term> + <listitem> + <para> + Значение атрибута <literal>mustUnderstand</literal> элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>actor</parameter></term> + <listitem> + <para> + Значение атрибута <literal>actor</literal> элемента заголовка SOAP. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapHeader::SoapHeader</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$client = new SoapClient(null, array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); +$client->__soapCall("echoVoid", null, null, + new SoapHeader('http://soapinterop.org/echoheader/', + 'echoMeStringRequest', + 'hello world')); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::__soapCall</methodname></member> + <member><methodname>SoapVar::SoapVar</methodname></member> + <member><methodname>SoapParam::SoapParam</methodname></member> + <member><methodname>SoapServer::addSoapHeader</methodname></member> + </simplelist> </para> </refsect1> diff --git a/reference/soap/soapparam/construct.xml b/reference/soap/soapparam/construct.xml index ba88b0dd4..de4b5cd91 100644 --- a/reference/soap/soapparam/construct.xml +++ b/reference/soap/soapparam/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapparam.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -16,7 +16,63 @@ <methodparam><type>string</type><parameter>name</parameter></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapParam::SoapParam</methodname> + Создаёт новый объект <classname>SoapParam</classname>. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>data</parameter></term> + <listitem> + <para> + Данные для передачи или возврата. Этот параметр может передаваться непосредственно как + значение PHP, но в этом случае он будет называться <literal>paramN</literal>, и + служба SOAP может его не понять. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>name</parameter></term> + <listitem> + <para> + Имя параметра. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapParam::SoapParam</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$client = new SoapClient(null,array('location' => "http://localhost/soap.php", + 'uri' => "http://test-uri/")); +$client->SomeFunction(new SoapParam($a, "a"), + new SoapParam($b, "b"), + new SoapParam($c, "c")); +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::__soapCall</methodname></member> + <member><methodname>SoapVar::SoapVar</methodname></member> + </simplelist> </para> </refsect1> diff --git a/reference/soap/soapserver/construct.xml b/reference/soap/soapserver/construct.xml index cbc47c1fa..f04fc573b 100644 --- a/reference/soap/soapserver/construct.xml +++ b/reference/soap/soapserver/construct.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> -<!-- EN-Revision: 40d440e3fd0ce3418c42375129a1f363ba623833 Maintainer: rjhdby Status: ready --> +<!-- EN-Revision: e64ea89bbe0bd2cc28d48adfb3723f9ed5720fd1 Maintainer: rjhdby Status: ready --> <!-- Reviewed: yes Maintainer: lex --> <refentry xml:id="soapserver.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> @@ -16,7 +16,108 @@ <methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam> </constructorsynopsis> <para> - &info.function.alias; <methodname>SoapServer::SoapServer</methodname> + Данный конструктор позволяет создавать объекты <classname>SoapServer</classname> + в WSDL или не-WSDL режимах. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>wsdl</parameter></term> + <listitem> + <para> + Для использования SoapServer в режиме WSDL, укажите URI WSDL-файла. + В противном случае укажите &null; и установите опцию <literal>uri</literal> + равной пространству имён сервера. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>options</parameter></term> + <listitem> + <para> + Попытка установить версию SOAP по умолчанию (<literal>soap_version</literal>), + внутреннюю кодировку (<literal>encoding</literal>) + и URI отправителя (<literal>actor</literal>). + </para> + <para> + Опцию <literal>classmap</literal> можно использовать для сопоставления + некоторых типов WSDL с классами PHP. Данная опция должна быть массивом с + ключами равными типам WSDL и значениям равными именам классов PHP. + </para> + <para> + Опция <literal>typemap</literal> является массивом сопоставления типов. + Массив с ключами <literal>type_name</literal>, + <literal>type_ns</literal> (URI пространства имён), <literal>from_xml</literal> + (callback-функция, принимающая один строковый параметр) и <literal>to_xml</literal> + (callback-функция, принимающая один объект в качестве параметр). + </para> + <para> + Опция <literal>cache_wsdl</literal> задаётся одной из констант: + <constant>WSDL_CACHE_NONE</constant>, + <constant>WSDL_CACHE_DISK</constant>, + <constant>WSDL_CACHE_MEMORY</constant> или + <constant>WSDL_CACHE_BOTH</constant>. + </para> + <para> + Также есть опция <literal>features</literal>, которая задаётся одной из констант: + <constant>SOAP_WAIT_ONE_WAY_CALLS</constant>, + <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant> или + <constant>SOAP_USE_XSI_ARRAY_TYPE</constant>. + </para> + <para> + опция <literal>send_errors</literal> может быть установлена в &false; для отправки + общего сообщения об ошибке ("Internal error") вместо специального + сообщения об ошибке, отправляемого в противном случае. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title>Пример использования <function>SoapServer::SoapServer</function></title> + <programlisting role="php"> +<![CDATA[ +<?php + +$server = new SoapServer("some.wsdl"); + +$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2)); + +$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C")); + +$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1')); + +$server = new SoapServer(null, array('uri' => "http://test-uri/")); + +class MyBook { + public $title; + public $author; +} + +$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook"))); + +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><methodname>SoapClient::SoapClient</methodname></member> + </simplelist> </para> </refsect1>