(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — Constructeur SoapServer
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")));
?>