// Workin Server with Client for localhost
// server.php
<?php
class MyClass {
public function helloWorld() {
return 'Hallo Welt '. print_r(func_get_args(), true);
}
}
try {
$server = new SOAPServer(
NULL,
array(
'uri' => 'http://localhost/soap/server.php'
)
);
$server->setClass('MyClass');
$server->handle();
}
catch (SOAPFault $f) {
print $f->faultstring;
}
?>
// client.php:
<?php
$client = new SoapClient(null, array(
'location' => "http://localhost/soap/server.php",
'uri' => "http://localhost/soap/server.php",
'trace' => 1 ));
echo $return = $client->__soapCall("helloWorld",array("world"));
?>
// Hope you like itSoapServer::__construct
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
SoapServer::__construct
Референца за `soapserver.construct.php` со подобрена типографија и навигација.
SoapServer::__construct
класата mysqli_driver
SoapServer::__construct — Конструктор SoapServer
= NULL
Овој конструктор овозможува креирање на SoapServer објекти во WSDL или не-WSDL режим.
Параметри
wsdl-
За да го користите SoapServer во WSDL режим, поминете го URI-то на WSDL датотека. Во спротивно, поминете
nullи поставете гоuriопцијата на целниот простор за имиња за серверот. options-
Овозможува поставување на стандардна SOAP верзија (
soap_version), internal character encoding (encoding), and actor URI (actor).На
classmapопцијата може да се користи за мапирање на некои WSDL типови на PHP класи. Оваа опција мора да биде низа со WSDL типови како клучеви и имиња на PHP класи како вредности.На
typemapопцијата е низа од мапирања на типови. Мапирањето на типови е низа со клучевиtype_name,type_ns(URI на простор за имиња),from_xml(callback што прифаќа еден параметар од тип string) иto_xml(callback што прифаќа еден параметар од тип object).На
cache_wsdlопцијата е една одWSDL_CACHE_NONE,WSDL_CACHE_DISK,WSDL_CACHE_MEMORYorWSDL_CACHE_BOTH.Исто така постои и
featuresопцијата која може да се постави наSOAP_WAIT_ONE_WAY_CALLS,SOAP_SINGLE_ELEMENT_ARRAYS,SOAP_USE_XSI_ARRAY_TYPE.На
send_errorsопцијата може да се постави наfalseза испраќање на генеричка порака за грешка ("Внатрешна грешка") наместо специфичната порака за грешка што се испраќа инаку.
Примери
Пример #1 SoapServer::handle() 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")));
?>