Return to bug30928.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
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