(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — SoapServer-Konstruktor
Dieser Konstruktor erlaubt das Erzeugen eines SoapServer-Objekts im WSDL- oder non-WSDL-Modus.
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.
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")));
?>