(PHP 5, PHP 7, PHP 8)
SoapServer::__construct — Конструктор SoapServer
Данный конструктор позволяет создавать объекты SoapServer в WSDL или не-WSDL режимах.
wsdl
Для использования SoapServer в режиме WSDL, укажите URI WSDL-файла. В противном случае укажите null
и установите опцию uri
равной пространству имён сервера.
options
Попытка установить версию SOAP по умолчанию (soap_version
), внутреннюю кодировку (encoding
) и URI отправителя (actor
).
Опцию classmap
можно использовать для сопоставления некоторых типов WSDL с классами PHP. Данная опция должна быть массивом с ключами равными типам WSDL и значениям равными именам классов PHP.
Опция typemap
является массивом сопоставления типов. Массив с ключами type_name
, type_ns
(URI пространства имён), from_xml
(callback-функция, принимающая один строковый параметр) и to_xml
(callback-функция, принимающая один объект в качестве параметр).
Опция cache_wsdl
задаётся одной из констант: WSDL_CACHE_NONE
, WSDL_CACHE_DISK
, WSDL_CACHE_MEMORY
или WSDL_CACHE_BOTH
.
Также есть опция features
, которая задаётся одной из констант: SOAP_WAIT_ONE_WAY_CALLS
, SOAP_SINGLE_ELEMENT_ARRAYS
или SOAP_USE_XSI_ARRAY_TYPE
.
опция send_errors
может быть установлена в false
для отправки общего сообщения об ошибке ("Internal error") вместо специального сообщения об ошибке, отправляемого в противном случае.
Пример #1 Пример использования SoapServer::SoapServer()
<?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")));
?>