# SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__construct — Constructeur SoapServer

### Description

public SoapServer::__construct(?string `$wsdl`, array `$options` = [])

Ce constructeur permet la création d'objets SoapServer en mode WSDL ou non-WSDL.

### Liste de paramètres

`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.

### Exemples

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")));
?>`

### Voir aussi

- SoapClient::__construct() - Constructeur SoapClient