This section describes PHP SOAP Extension functions for server side programs.
If you read the SOAP Extension reference page, you will see that SOAP Extension support SOAP server
applications with a class called SoapServer, which offers the following functions:
SoapServer->__construct() - construct a new SoapServer object
SoapServer->addFunction() - Adds one or several functions those will handle SOAP requests
SoapServer->setClass() - Sets class which will handle SOAP requests
SoapServer->handle() - Handles a SOAP request
SoapServer->getFunctions() - Returns list of defined functions
...
SoapServer->__construct() allows you to construct a new SoapServer object with the following syntax:
__construct ( mixed wsdl [, array options] );
where "wsdl" specifies the URL of the WSDL document, and "options" specifies a list of options:
'uri' => "...", # the name space of the SOAP service
'soap_version' => SOAP_1_1 |SOAP_1_2,
'actor' => "...", # the actor
'encoding' => "...", # the encoding name
'classmap' => "...", # a map of WSDL types to PHP classes
...
Note that SoapServer object can be constructed in two modes, WSDL mode and non-WSDL mode:
__construct( "..."[, array options] ); # WSDL mode, many options
# are provided by the WSDL document
__construct( null, array options ); # non-WSDL mode,
# 'uri' is a required option.
SoapServer->addFunction() allows you to add one or more functions to handle SOAP requests. The functions
to be added are functions defined in the current PHP program file.
$obj->addFunction("func"); # adds one function
$obj->addFunction(array("func1",...)); # adds many functions
$obj->addFunction(SOAP_FUNCTIONS_ALL); # adds all functions
SoapServer->setClass() allows you to all methods in the specified class to handle SOAP requests.
$obj->setClass("cls");
SoapServer->handle() allows you to return the execution back the SOAP Extension to handle the incoming SOAP request.
$obj->handle();
SoapServer->getFunctions() allows you to get a list of all functions that have been
assigned to handle SOAP requests.