mirror of
https://github.com/php/doc-es.git
synced 2026-04-23 23:28:22 +02:00
0a8722b3d2
* fix(translation): updated reflection, simplexml, soap references * fix(translation): typo soapclient link * Reviewed Corrected indentation, and removed `**` --------- Co-authored-by: Marcos Porto Mariño <php@marcospor.to>
785 lines
30 KiB
XML
785 lines
30 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: f309e78f9439ae5d063a284cefb4b375233aa785 Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: yes Maintainer: Marqitos -->
|
|
<refentry xml:id="soapclient.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<refnamediv>
|
|
<refname>SoapClient::__construct</refname>
|
|
<refpurpose>Constructor SoapClient</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<constructorsynopsis role="SoapClient">
|
|
<modifier>public</modifier> <methodname>SoapClient::__construct</methodname>
|
|
<methodparam><type class="union"><type>string</type><type>null</type></type><parameter>wsdl</parameter></methodparam>
|
|
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
|
|
</constructorsynopsis>
|
|
<para>
|
|
Crea un objeto <classname>SoapClient</classname> para conectarse a un servicio SOAP.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>wsdl</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
URI del archivo <acronym>WSDL</acronym> que describe el servicio, el cual se usa para
|
|
configurar automáticamente el cliente. Si no se proporciona, el cliente operará en modo
|
|
no-WSDL.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
Por omisión, el archivo WSDL será almacenado en caché por razones de rendimiento. Para desactivar
|
|
o configurar este almacenamiento en caché, consulte la sección
|
|
<link linkend="soap.configuration.list">SOAP &ConfigureOptions;</link>
|
|
y la opción <link linkend="soapclient.construct.options.cache-wsdl">
|
|
<literal>cache_wsdl</literal></link>
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>options</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Un array asociativo que especifica opciones adicionales para el cliente SOAP.
|
|
Si el parámetro <parameter>wsdl</parameter> se proporciona, esto es opcional; de lo contrario,
|
|
al menos los parámetros <literal>location</literal> y <literal>url</literal> deben ser
|
|
proporcionados.
|
|
<variablelist>
|
|
<varlistentry xml:id="soapclient.construct.options.location">
|
|
<term>
|
|
<parameter>location</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
La URL del servidor SOAP al que enviar la petición.
|
|
</para>
|
|
<para>
|
|
Requerido si el parámetro <parameter>wsdl</parameter> no se proporciona.
|
|
Si tanto un parámetro <parameter>wsdl</parameter> como
|
|
la opción <literal>location</literal> se proporcionan, la opción
|
|
<literal>location</literal> reemplazará cualquier ubicación especificada en el archivo WSDL.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.uri">
|
|
<term>
|
|
<parameter>uri</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
El espacio de nombres objetivo del servicio SOAP.
|
|
</para>
|
|
<para>
|
|
Requerido si el parámetro <parameter>wsdl</parameter> no se proporciona;
|
|
de lo contrario, se ignora.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.style">
|
|
<term>
|
|
<parameter>style</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Especifica el estilo de enlace a utilizar para este cliente, utilizando las constantes
|
|
<constant>SOAP_RPC</constant> y <constant>SOAP_DOCUMENT</constant>.
|
|
<constant>SOAP_RPC</constant> indica un enlace de estilo RPC, donde el
|
|
cuerpo de la petición SOAP contiene un codificado estándar de una llamada de función.
|
|
<constant>SOAP_DOCUMENT</constant> indica un enlace de estilo documento,
|
|
donde el cuerpo de la petición SOAP contiene un documento XML con
|
|
un significado definido por el servicio.
|
|
</para>
|
|
<para>
|
|
Si el parámetro <parameter>wsdl</parameter> se proporciona, esta
|
|
opción se ignora y el estilo se lee desde el archivo WSDL.
|
|
</para>
|
|
<para>
|
|
Si ni esta opción ni el parámetro <parameter>wsdl</parameter>
|
|
se proporcionan, se utiliza el estilo RPC.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.use">
|
|
<term>
|
|
<parameter>use</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Especifica el estilo de codificación a utilizar para este cliente, utilizando las
|
|
constantes <constant>SOAP_ENCODED</constant> o <constant>SOAP_LITERAL</constant>.
|
|
<constant>SOAP_ENCODED</constant> indica una codificación utilizando los tipos
|
|
definidos en la especificación SOAP.
|
|
<constant>SOAP_LITERAL</constant> indica una codificación utilizando un esquema
|
|
definido.
|
|
</para>
|
|
<para>
|
|
Si el parámetro <parameter>wsdl</parameter> se proporciona, esta
|
|
opción se ignora y la codificación se lee desde el archivo WSDL.
|
|
</para>
|
|
<para>
|
|
Si esta opción y el parámetro <parameter>wsdl</parameter> no se proporcionan,
|
|
se utiliza el estilo "encoded".
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.soap-version">
|
|
<term>
|
|
<parameter>soap_version</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Especifica la versión del protocolo SOAP a utilizar:
|
|
<constant>SOAP_1_1</constant> para SOAP 1.1,
|
|
o <constant>SOAP_1_2</constant> para SOAP 1.2.
|
|
</para>
|
|
<para>
|
|
Si se omite, se utiliza SOAP 1.1.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.authentication">
|
|
<term>
|
|
<parameter>authentication</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Especifica el método de autenticación al utilizar la autenticación
|
|
HTTP en las peticiones. El valor puede ser
|
|
<constant>SOAP_AUTHENTICATION_BASIC</constant>
|
|
o <constant>SOAP_AUTHENTICATION_DIGEST</constant>.
|
|
</para>
|
|
<para>
|
|
Si se omite y la opción <literal>login</literal> se proporciona,
|
|
se utiliza la autenticación HTTP Basic.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.login">
|
|
<term>
|
|
<parameter>login</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Nombre de usuario a utilizar con la autenticación HTTP Basic o HTTP Digest.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.password">
|
|
<term>
|
|
<parameter>password</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Contraseña a utilizar con la autenticación HTTP Basic o HTTP Digest.
|
|
</para>
|
|
<para>
|
|
No confundir con <literal>passphrase</literal>,
|
|
que se utiliza con la autenticación por certificado cliente HTTPS.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.local-cert">
|
|
<term>
|
|
<parameter>local_cert</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Ruta hacia un certificado cliente a utilizar con la autenticación HTTPS.
|
|
Debe ser un archivo codificado en <acronym>PEM</acronym> que contenga el certificado
|
|
y su clave privada.
|
|
</para>
|
|
<para>
|
|
El archivo también puede incluir una cadena de emisores, que debe venir
|
|
después del certificado cliente.
|
|
</para>
|
|
<para>
|
|
También puede ser definido a través de
|
|
<link linkend="soapclient.construct.options.stream-context">
|
|
<parameter>stream_context</parameter></link>,
|
|
que también permite especificar un archivo de clave privada distinto.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.passphrase">
|
|
<term>
|
|
<parameter>passphrase</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Passphrase para el certificado cliente especificado en la opción
|
|
<literal>local_cert</literal>.
|
|
</para>
|
|
<para>
|
|
No confundir con <literal>password</literal>,
|
|
que se utiliza con la autenticación HTTP Basic o HTTP Digest.
|
|
</para>
|
|
<para>
|
|
También puede ser definido a través de
|
|
<link linkend="soapclient.construct.options.stream-context">
|
|
<parameter>stream_context</parameter></link>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.proxy-host">
|
|
<term>
|
|
<parameter>proxy_host</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Nombre de host a utilizar como servidor proxy para las peticiones HTTP.
|
|
</para>
|
|
<para>
|
|
La opción <literal>proxy_port</literal> también debe ser especificada.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.proxy-port">
|
|
<term>
|
|
<parameter>proxy_port</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Puerto TCP a utilizar al conectarse al servidor proxy
|
|
especificado en <literal>proxy_host</literal>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.proxy-login">
|
|
<term>
|
|
<parameter>proxy_login</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Nombre de usuario opcional para autenticarse con el servidor proxy
|
|
especificado en <literal>proxy_host</literal>, utilizando la autenticación
|
|
HTTP Basic.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.proxy-password">
|
|
<term>
|
|
<parameter>proxy_password</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Contraseña opcional para autenticarse con el servidor proxy
|
|
especificado en <literal>proxy_host</literal>, utilizando la autenticación
|
|
HTTP Basic.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.compression">
|
|
<term>
|
|
<parameter>compression</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Activa la compresión de las peticiones y respuestas SOAP HTTP.
|
|
</para>
|
|
<para>
|
|
El valor debe ser el resultado de la operación OR a nivel de bits de tres partes:
|
|
un <constant>SOAP_COMPRESSION_ACCEPT</constant> opcional,
|
|
para enviar el encabezado "Accept-Encoding"; ya sea
|
|
<constant>SOAP_COMPRESSION_GZIP</constant>
|
|
o <constant>SOAP_COMPRESSION_DEFLATE</constant> para indicar
|
|
el algoritmo de compresión a utilizar; y un número entre 1 y 9
|
|
para indicar el nivel de compresión a utilizar en la petición.
|
|
Por ejemplo, para activar la compresión gzip bidireccional con el nivel
|
|
de compresión máximo, utilice
|
|
<literal>SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9</literal>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.encoding">
|
|
<term>
|
|
<parameter>encoding</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Define el codificado de caracteres interno. Las peticiones siempre se envían
|
|
en UTF-8 y se convierten desde y hacia este codificado.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.trace">
|
|
<term>
|
|
<parameter>trace</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Captura la información de petición y respuesta, que luego puede ser
|
|
consultada utilizando los métodos
|
|
<methodname>SoapClient::__getLastRequest</methodname>,
|
|
<methodname>SoapClient::__getLastRequestHeaders</methodname>,
|
|
<methodname>SoapClient::__getLastResponse</methodname>,
|
|
y <methodname>SoapClient::__getLastResponseHeaders</methodname>.
|
|
</para>
|
|
<para>
|
|
Si se omite, el valor por omisión es &false;
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.classmap">
|
|
<term>
|
|
<parameter>classmap</parameter>
|
|
<type>array</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Utilizado para asociar los tipos definidos en el WSDL con las clases PHP.
|
|
Debe ser especificado en forma de un <type>array</type> asociativo con
|
|
los nombres de tipos del WSDL como claves y los nombres de clases PHP como valores.
|
|
Tenga en cuenta que el nombre de tipo de un elemento no necesariamente corresponden al nombre
|
|
del elemento (etiqueta).
|
|
</para>
|
|
<para>
|
|
Los nombres de clase proporcionados siempre deben estar completamente calificados con
|
|
todos los <link linkend="language.namespaces">espacios de nombres</link>, y nunca
|
|
comenzar con un <literal>\</literal>. La forma correcta puede ser
|
|
generada utilizando
|
|
<link linkend="language.oop5.basic.class.class">::class</link>.
|
|
</para>
|
|
<para>
|
|
Tenga en cuenta que al crear una clase, el constructor no será llamado,
|
|
pero los métodos mágicos <link linkend="object.set">__set()</link> y
|
|
<link linkend="object.get">__get()</link> para las propiedades individuales sí lo serán.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.typemap">
|
|
<term>
|
|
<parameter>typemap</parameter>
|
|
<type>array</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Utilizado para definir correspondencias de tipos utilizando funciones de devolución de llamada
|
|
definidas por el usuario.
|
|
Cada correspondencia de tipo debe ser un array con las claves
|
|
<literal>type_name</literal> (un <type>string</type> que especifica el
|
|
tipo de elemento XML),
|
|
<literal>type_ns</literal> (un <type>string</type> que contiene
|
|
la URI del espacio de nombres),
|
|
<literal>from_xml</literal> (un <type>callable</type> que acepta un parámetro
|
|
de tipo string y devuelve un objeto) y
|
|
<literal>to_xml</literal> (un <type>callable</type> que acepta un parámetro
|
|
de tipo objeto y devuelve un string).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.exceptions">
|
|
<term>
|
|
<parameter>exceptions</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Define si los errores generan excepciones de tipo
|
|
<classname>SoapFault</classname>.
|
|
</para>
|
|
<para>
|
|
Por omisión, es &true;
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.connection-timeout">
|
|
<term>
|
|
<parameter>connection_timeout</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Define un tiempo límite en segundos para la conexión al servicio SOAP.
|
|
Esta opción no define un tiempo límite para los servicios con respuesta lenta.
|
|
Para limitar el tiempo de espera de las llamadas, la opción de configuración
|
|
<link linkend="ini.default-socket-timeout">default_socket_timeout</link>
|
|
está disponible.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.cache-wsdl">
|
|
<term>
|
|
<parameter>cache_wsdl</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Si el parámetro <parameter>wsdl</parameter> se especifica y la opción de
|
|
configuración
|
|
<link linkend="ini.soap.wsdl-cache-enabled">soap.wsdl_cache_enabled</link>
|
|
está activada, esta opción determina el tipo de almacenamiento en caché.
|
|
Una de las constantes <constant>WSDL_CACHE_NONE</constant>,
|
|
<constant>WSDL_CACHE_DISK</constant>,
|
|
<constant>WSDL_CACHE_MEMORY</constant> o
|
|
<constant>WSDL_CACHE_BOTH</constant>.
|
|
</para>
|
|
<para>
|
|
Dos tipos de caché están disponibles: la caché en memoria, que almacena en caché el WSDL
|
|
en la memoria del proceso actual, y la caché en disco, que almacena en caché el WSDL
|
|
en un archivo en el disco compartido entre todos los procesos.
|
|
El directorio a utilizar para la caché en disco es determinado por la opción de configuración
|
|
<link linkend="ini.soap.wsdl-cache-dir">soap.wsdl_cache_dir</link>.
|
|
Las dos cachés tienen la misma vida útil, determinada por la opción de configuración
|
|
<link linkend="ini.soap.wsdl-cache-ttl">soap.wsdl_cache_ttl</link>.
|
|
La caché en memoria también tiene un número máximo de entradas determinado por la opción de configuración
|
|
<link linkend="ini.soap.wsdl-cache-limit">soap.wsdl_cache_limit</link>.
|
|
</para>
|
|
<para>
|
|
Si no se especifica, la opción de configuración <link linkend="ini.soap.wsdl-cache">
|
|
soap.wsdl_cache</link> será utilizada.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.user-agent">
|
|
<term>
|
|
<parameter>user_agent</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
El valor a utilizar en el encabezado HTTP <literal>User-Agent</literal>
|
|
durante las peticiones.
|
|
</para>
|
|
<para>
|
|
También puede ser definido a través de <link linkend="soapclient.construct.options.stream-context">
|
|
<parameter>stream_context</parameter></link>.
|
|
</para>
|
|
<para>
|
|
Si no se especifica, el agente de usuario será <literal>"PHP-SOAP/"</literal>
|
|
seguido del valor de <constant>PHP_VERSION</constant>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.stream-context">
|
|
<term>
|
|
<parameter>stream_context</parameter>
|
|
<type>resource</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Un <link linkend="context">contexto de flujo</link> creado por
|
|
<function>stream_context_create</function>, que permite definir opciones adicionales.
|
|
</para>
|
|
<para>
|
|
El contexto puede incluir opciones de contexto <link linkend="context.socket">socket</link>,
|
|
opciones de contexto <link linkend="context.ssl">SSL</link>,
|
|
así como algunas opciones de contexto <link linkend="context.http">HTTP</link> seleccionadas:
|
|
<literal>content_type</literal>, <literal>header</literal>,
|
|
<literal>max_redirects</literal>, <literal>protocol_version</literal>,
|
|
y <literal>user_agent</literal>.
|
|
</para>
|
|
<para>
|
|
Tenga en cuenta que los siguientes encabezados HTTP son generados automáticamente o a partir de otras
|
|
opciones, y serán ignorados si se especifican en la opción de contexto <literal>'header'</literal>:
|
|
<literal>host</literal>, <literal>connection</literal>,
|
|
<literal>user-agent</literal>, <literal>content-length</literal>,
|
|
<literal>content-type</literal>, <literal>cookie</literal>,
|
|
<literal>authorization</literal> y <literal>proxy-authorization</literal>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.features">
|
|
<term>
|
|
<parameter>features</parameter>
|
|
<type>int</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Una máscara de bits para activar una o más de las siguientes funcionalidades:
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
<constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Al decodificar una respuesta en array, el comportamiento por omisión consiste en detectar si
|
|
un nombre de elemento aparece una sola vez o múltiples veces en un elemento padre particular.
|
|
Para los elementos que aparecen una sola vez, una propiedad de objeto permite un acceso directo al
|
|
contenido; para los elementos que aparecen más de una vez, la propiedad contiene un
|
|
array con el contenido de cada elemento correspondiente.
|
|
</para>
|
|
<para>
|
|
Si la funcionalidad <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant> está activada,
|
|
los elementos que aparecen una sola vez se colocan en un array de un solo elemento, de modo que
|
|
el acceso sea coherente para todos los elementos. Esto solo tiene efecto al utilizar un WSDL
|
|
que contenga un esquema para la respuesta. Consulte la sección de ejemplos para una ilustración.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<constant>SOAP_USE_XSI_ARRAY_TYPE</constant>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Cuando la opción <link linkend="soapclient.construct.options.use"><literal>use</literal>
|
|
opción</link> o la propiedad WSDL está definida en <literal>encoded</literal>,
|
|
fuerza a los arrays a utilizar un tipo <literal>SOAP-ENC:Array</literal>, en lugar de un
|
|
tipo específico del esquema.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<constant>SOAP_WAIT_ONE_WAY_CALLS</constant>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Esperar una respuesta incluso si el WSDL indica una petición de un solo sentido.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.keep-alive">
|
|
<term>
|
|
<parameter>keep_alive</parameter>
|
|
<type>bool</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
un valor booleano que define si
|
|
enviar el encabezado <literal>Connection: Keep-Alive</literal> o
|
|
<literal>Connection: close</literal>.
|
|
</para>
|
|
<para>
|
|
Por omisión, es &true;
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry xml:id="soapclient.construct.options.ssl-method">
|
|
<term>
|
|
<parameter>ssl_method</parameter>
|
|
<type>string</type>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Especifica la versión del protocolo SSL o TLS a utilizar con las conexiones HTTP seguras, en lugar de la negociación por omisión.
|
|
Especificar <constant>SOAP_SSL_METHOD_SSLv2</constant> o <constant>SOAP_SSL_METHOD_SSLv3</constant> forzará el uso de SSL 2 o SSL 3, respectivamente.
|
|
Especificar <constant>SOAP_SSL_METHOD_SSLv23</constant> no tiene ningún efecto;
|
|
esta constante solo existe por razones de compatibilidad ascendente.
|
|
A partir de PHP 7.2.0, especificar <constant>SOAP_SSL_METHOD_TLS</constant>
|
|
tampoco tiene ningún efecto; en versiones anteriores, esto forzaba el uso de TLS 1.0.
|
|
</para>
|
|
<para>
|
|
Es de notar que las versiones SSL 2 y 3 se consideran no seguras y pueden no ser soportadas por la biblioteca OpenSSL instalada.
|
|
</para>
|
|
<para>
|
|
Esta opción es <emphasis role="strong">obsoleta</emphasis> a partir de PHP 8.1.0.
|
|
Una alternativa más flexible, que permite especificar versiones individuales de TLS, consiste en utilizar la opción <link linkend="soapclient.construct.options.stream-context"><parameter>contexto_de_flux</parameter></link> con el parámetro de contexto 'crypto_method'.
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Especificar el uso de TLS 1.3 solamente
|
|
$context = stream_context_create([
|
|
'ssl' => [
|
|
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT
|
|
]
|
|
]);
|
|
$client = new SoapClient("some.wsdl", ['context' => $context]);
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="errors">
|
|
&reftitle.errors;
|
|
<para>
|
|
<methodname>SoapClient::__construct</methodname> generará un error de tipo
|
|
<constant>E_ERROR</constant> si las opciones <literal>location</literal> y
|
|
<literal>uri</literal> no se proporcionan en modo non-WSDL.
|
|
</para>
|
|
<para>
|
|
Una excepción de tipo <classname>SoapFault</classname> será lanzada si el URI
|
|
<parameter>wsdl</parameter> no puede ser cargado.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>
|
|
Ejemplo <methodname>SoapClient::__construct</methodname>
|
|
</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 | 9));
|
|
|
|
$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")));
|
|
|
|
$typemap = array(
|
|
array("type_ns" => "http://schemas.example.com",
|
|
"type_name" => "book",
|
|
"from_xml" => "unserialize_book",
|
|
"to_xml" => "serialize_book")
|
|
);
|
|
$client = new SoapClient("books.wsdl", array('typemap' => $typemap));
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Utilizando la funcionalidad <constant>SOAP_SINGLE_ELEMENT_ARRAYS</constant></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Suponiendo una respuesta como esta, y un WSDL apropiado:
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:example">
|
|
<SOAP-ENV:Body>
|
|
<response>
|
|
<collection>
|
|
<item>Single</item>
|
|
</collection>
|
|
<collection>
|
|
<item>First</item>
|
|
<item>Second</item>
|
|
</collection>
|
|
</response>
|
|
</SOAP-ENV:Body>
|
|
</SOAP-ENV:Envelope>
|
|
*/
|
|
|
|
echo "Default:\n";
|
|
|
|
$client = new TestSoapClient(__DIR__ . '/temp.wsdl');
|
|
$response = $client->exampleRequest();
|
|
var_dump( $response->collection[0]->item );
|
|
var_dump( $response->collection[1]->item );
|
|
|
|
echo "\nWith SOAP_SINGLE_ELEMENT_ARRAYS:\n";
|
|
|
|
$client = new TestSoapClient(__DIR__ . '/temp.wsdl', ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]);
|
|
$response = $client->exampleRequest();
|
|
var_dump( $response->collection[0]->item );
|
|
var_dump( $response->collection[1]->item );
|
|
]]>
|
|
</programlisting>
|
|
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Default:
|
|
string(6) "Single"
|
|
array(2) {
|
|
[0] =>
|
|
string(5) "First"
|
|
[1] =>
|
|
string(6) "Second"
|
|
}
|
|
|
|
With SOAP_SINGLE_ELEMENT_ARRAYS:
|
|
array(1) {
|
|
[0] =>
|
|
string(6) "Single"
|
|
}
|
|
array(2) {
|
|
[0] =>
|
|
string(5) "First"
|
|
[1] =>
|
|
string(6) "Second"
|
|
}
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|