(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — Constructor de SoapServer
Este constructor permite la creación de objetos SoapServer en modo WSDL o no-WSDL.
wsdl
Para utilizar el modo WSDL, debe definirse la URI del fichero
WSDL en este argumento. En otras situaciones, debe definirse
este argumento a null
y definirse la opción uri
.
options
Permite definir una versión SOAP por omisión (soap_version
),
un juego de caracteres de codificación interna (encoding
)
y una URI actor (actor
).
La opción classmap
puede ser utilizada para ligar
algunos tipos WSDL a clases PHP. Esta opción debe ser un
array con los tipos WSDL como claves y los nombres de las clases PHP
como valores.
La opción typemap
es un array cuyas claves son
type_name
, type_ns
(URI del espacio de nombres),
from_xml
(función de retrollamada aceptando un argumento de tipo chaîne de caractères) y
to_xml
(función de retrollamada aceptando un argumento de tipo objet).
La opción cache_wsdl
puede tomar uno de los valores
WSDL_CACHE_NONE
,
WSDL_CACHE_DISK
,
WSDL_CACHE_MEMORY
o
WSDL_CACHE_BOTH
.
La última opción es features
que puede ser definida a
SOAP_WAIT_ONE_WAY_CALLS
,
SOAP_SINGLE_ELEMENT_ARRAYS
,
SOAP_USE_XSI_ARRAY_TYPE
.
La opción send_errors
puede ser definida a false
para enviar
un mensaje de error genérico ("Internal error") en lugar del mensaje de error
específico.
Ejemplo #1 Ejemplos con SoapServer::__construct()
<?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")));
?>