(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — Constructeur SoapServer
$wsdl
, array $options
= [])Ce constructeur permet la création d'objets SoapServer en mode WSDL ou non-WSDL.
wsdl
Pour utiliser le mode WSDL, il faut définir l'URI du fichier
WSDL dans ce paramètre. Avec les autres situations, il faut définir
ce paramètre à null
et définir l'option uri
.
options
Permet de définir une version SOAP par défaut (soap_version
),
un jeu de caractères d'encodage interne (encoding
)
et un URI acteur (actor
).
L'option classmap
peut être utilisée pour lier
quelques types WSDL à des classes PHP. Cette option doit être un
tableau avec les types WSDL en tant que clés et les noms des classes PHP
en tant que valeurs.
L'option typemap
est un tableau dont les clés sont
type_name
, type_ns
(URI de l'espace de noms),
from_xml
(fonction de rappel acceptant un paramètre de type chaîne de caractères) et
to_xml
(fonction de rappel acceptant un paramètre de type objet).
L'option cache_wsdl
prend une des valeurs
WSDL_CACHE_NONE
,
WSDL_CACHE_DISK
,
WSDL_CACHE_MEMORY
ou
WSDL_CACHE_BOTH
.
La dernière option est features
qui peut être défini à
SOAP_WAIT_ONE_WAY_CALLS
,
SOAP_SINGLE_ELEMENT_ARRAYS
,
SOAP_USE_XSI_ARRAY_TYPE
.
L'option send_errors
peut être défini à false
pour envoyer
un message d'erreur générique ("Internal error") au lieu du message d'erreur
spécifique.
Exemple #1 Exemples avec 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")));
?>