diff options
Diffstat (limited to 'ext/soap/tests/bugs/bug29844.phpt')
-rw-r--r-- | ext/soap/tests/bugs/bug29844.phpt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ext/soap/tests/bugs/bug29844.phpt b/ext/soap/tests/bugs/bug29844.phpt new file mode 100644 index 0000000000..baf7cde6d3 --- /dev/null +++ b/ext/soap/tests/bugs/bug29844.phpt @@ -0,0 +1,36 @@ +--TEST-- +Bug #29844 (SOAP doesn't return the result of a valid SOAP request) +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php + +class hello_world { + public function hello($to) { + return 'Hello ' . $to; + } +} + +class LocalSoapClient extends SoapClient { + + function LocalSoapClient($wsdl, $options) { + $this->SoapClient($wsdl, $options); + $this->server = new SoapServer($wsdl, $options); + $this->server->setClass('hello_world');; + } + + function __doRequest($request, $location, $action, $version) { + ob_start(); + $this->server->handle($request); + $response = ob_get_contents(); + ob_end_clean(); + return $response; + } + +} + +$client = new LocalSoapClient(dirname(__FILE__)."/bug29844.wsdl", array("trace"=>1)); +var_dump($client->hello('davey')); +?> +--EXPECT-- +string(11) "Hello davey" |