SoapServer::__construct
(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — SoapServer constructor
Description
$wsdl
, array $options
= [])This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.
Parameters
-
wsdl
-
To use the SoapServer in WSDL mode, pass the URI of a WSDL file. Otherwise, pass
null
and set theuri
option to the target namespace for the server. -
options
-
Allow setting a default SOAP version (
soap_version
), internal character encoding (encoding
), and actor URI (actor
).The
classmap
option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.The
typemap
option is an array of type mappings. Type mapping is an array with keystype_name
,type_ns
(namespace URI),from_xml
(callback accepting one string parameter) andto_xml
(callback accepting one object parameter).The
cache_wsdl
option is one ofWSDL_CACHE_NONE
,WSDL_CACHE_DISK
,WSDL_CACHE_MEMORY
orWSDL_CACHE_BOTH
.There is also a
features
option which can be set toSOAP_WAIT_ONE_WAY_CALLS
,SOAP_SINGLE_ELEMENT_ARRAYS
,SOAP_USE_XSI_ARRAY_TYPE
.The
send_errors
option can be set tofalse
to sent a generic error message ("Internal error") instead of the specific error message sent otherwise.
Examples
Example #1 SoapServer::__construct() example
<?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")));
?>