note 94630 added to soapserver.handle

From: 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

« previous php.notes (#162937) next »