Annotation of embedaddon/php/ext/soap/tests/classmap003.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SOAP Classmap 3: encoding of inherited objects
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --FILE--
6: <?php
7: ini_set("soap.wsdl_cache_enabled",0);
8:
9: class A {
10: public $x;
11: function __construct($a){
12: $this->x = $a;
13: }
14: }
15:
16: class B extends A {
17: public $y;
18: function __construct($a){
19: parent::__construct($a);
20: $this->y = $a + 1;
21: }
22: }
23:
24: function f(){
25: return new B(5);
26: }
27:
28: class LocalSoapClient extends SoapClient {
29:
30: function __construct($wsdl, $options) {
31: parent::__construct($wsdl, $options);
32: $this->server = new SoapServer($wsdl, $options);
33: $this->server->addFunction("f");
34: }
35:
36: function __doRequest($request, $location, $action, $version, $one_way = 0) {
37: ob_start();
38: $this->server->handle($request);
39: $response = ob_get_contents();
40: ob_end_clean();
41: return $response;
42: }
43: }
44:
45: $client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
46: array('classmap'=>array('A'=>'A','B'=>'B')));
47: print_r($client->f());
48: ?>
49: --EXPECT--
50: B Object
51: (
52: [y] => 6
53: [x] => 5
54: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>