Annotation of embedaddon/php/ext/soap/tests/bugs/bug30928.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties)
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --FILE--
6: <?php
7: ini_set("soap.wsdl_cache_enabled", 0);
8:
9: class foo {
10: public $a="a";
11: private $b="b";
12: protected $c="c";
13: }
14:
15: function test($x) {
16: return $x;
17: }
18:
19: class LocalSoapClient extends SoapClient {
20:
21: function __construct($wsdl, $options) {
22: parent::__construct($wsdl, $options);
23: $this->server = new SoapServer($wsdl, $options);
24: $this->server->addFunction('test');
25: }
26:
27: function __doRequest($request, $location, $action, $version, $one_way = 0) {
28: ob_start();
29: $this->server->handle($request);
30: $response = ob_get_contents();
31: ob_end_clean();
32: return $response;
33: }
34: }
35:
36: $x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl",
37: array());
38: var_dump($x->test(new foo()));
39:
40: $x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl",
41: array("classmap" => array('testType'=>'foo')));
42: var_dump($x->test(new foo()));
43:
44: echo "ok\n";
45: ?>
46: --EXPECTF--
47: object(stdClass)#%d (3) {
48: ["a"]=>
49: string(1) "a"
50: ["b"]=>
51: string(1) "b"
52: ["c"]=>
53: string(1) "c"
54: }
55: object(foo)#%d (3) {
56: ["a"]=>
57: string(1) "a"
58: ["b":"foo":private]=>
59: string(1) "b"
60: ["c":protected]=>
61: string(1) "c"
62: }
63: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>