note 94630 added to soapserver.handle
| From: | ArturGraniszewski at osu1 dot php dot net | Date: | Sun, 15 Nov 2009 18:19:26 +0000 |
| Subject: | note 94630 added to soapserver.handle | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-162937@lists.php.net to get a copy of this message | ||
Be aware that SoapServer::handle(); method sends additional HTTP headers to the browser. One of them
is "Content-Type: application/soap+xml". If you want to execute SOAP methods locally as a
part of SoapClient::__doRequest() (see example at http://pl2.php.net/manual/en/soapclient.dorequest.php
) you may need to reset (override) this header back to "Content-Type: text/html" like so:
<?php
function Add($x,$y) {
return $x+$y;
}
class LocalSoapClient extends SoapClient {
function __construct($wsdl, $options) {
parent::__construct($wsdl, $options);
$this->server = new SoapServer($wsdl, $options);
$this->server->addFunction('Add');
}
function __doRequest($request, $location, $action, $version) {
ob_start();
$this->server->handle($request);
$response = ob_get_contents();
ob_end_clean();
return $response;
}
}
$x = new LocalSoapClient(NULL,array('location'=>'test://',
'uri'=>'http://testuri.org'));
header("Content-Type: text/html");
var_dump($x->Add(3,4));
?>
----
Server IP: 82.177.164.100
Probable Submitter: 82.210.157.150
----
Manual Page -- http://www.php.net/manual/en/soapserver.handle.php
Edit -- https://master.php.net/note/edit/94630
Del: integrated -- https://master.php.net/note/delete/94630/integrated
Del: useless -- https://master.php.net/note/delete/94630/useless
Del: bad code -- https://master.php.net/note/delete/94630/bad+code
Del: spam -- https://master.php.net/note/delete/94630/spam
Del: non-english -- https://master.php.net/note/delete/94630/non-english
Del: in docs -- https://master.php.net/note/delete/94630/in+docs
Del: other reasons-- https://master.php.net/note/delete/94630
Reject -- https://master.php.net/note/reject/94630
Search -- https://master.php.net/manage/user-notes.php