# SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__construct — SoapServer-Konstruktor

### Beschreibung

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

Dieser Konstruktor erlaubt das Erzeugen eines SoapServer-Objekts im WSDL- oder non-WSDL-Modus.

### Parameter-Liste

`wsdl`

  Wenn der WSDL-Modus verwendet werden soll, muss die URI auf eine WSDL-Datei verweisen. Ansonsten muss `null` übergeben, und die `uri`-Option auf den Zielnamensraum des Servers gesetzt werden.

`options`

  Erlaubt das Setzen der Standard-SOAP-Version (`soap_version`), der internen Zeichenkodierung (`encoding`), und der Actor-URI (`actor`).

  Die `classmap` Option kann genutzt werden, um einige WSDL-Typen auf PHP-Klassen abzubilden. Die Option mussß ein Array sein mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert.

  Die Option `typemap` ist ein Array mit Typabbildungen. Jede Abbildung ist ein Array mit den Schlüsseln `type_name`, `type_ns` (Namensraum-URI), `from_xml` (Callback, der einen String-Parameter akzeptiert) und `to_xml` (Callback, der einen Objekt-Parameter akzeptiert).

  Die `cache_wsdl`-Option ist entweder `WSDL_CACHE_NONE`, `WSDL_CACHE_DISK`, `WSDL_CACHE_MEMORY` oder `WSDL_CACHE_BOTH`.

  Weiterhin gibt es eine `features`-Option, die auf `SOAP_WAIT_ONE_WAY_CALLS`, `SOAP_SINGLE_ELEMENT_ARRAYS` oder `SOAP_USE_XSI_ARRAY_TYPE` gesetzt werden kann.

  Die `send_errors`-Option kann auf `false` gesetzt werden, um eine generische Fehlermeldung ("Internal error") anstelle einer spezifischen zu senden.

### Beispiele

Beispiel #1 SoapServer::__construct()-Beispiel

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

### Siehe auch

- SoapClient::__construct() - SoapClient-Konstruktor

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open