SoapServer::__construct
(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — SoapServer-Konstruktor
Beschreibung
$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 dieuri
-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üsselntype_name
,type_ns
(Namensraum-URI),from_xml
(Callback, der einen String-Parameter akzeptiert) undto_xml
(Callback, der einen Objekt-Parameter akzeptiert).Die
cache_wsdl
-Option ist entwederWSDL_CACHE_NONE
,WSDL_CACHE_DISK
,WSDL_CACHE_MEMORY
oderWSDL_CACHE_BOTH
.Weiterhin gibt es eine
features
-Option, die aufSOAP_WAIT_ONE_WAY_CALLS
,SOAP_SINGLE_ELEMENT_ARRAYS
oderSOAP_USE_XSI_ARRAY_TYPE
gesetzt werden kann.Die
send_errors
-Option kann auffalse
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")));
?>