Annotation of embedaddon/php/ext/soap/tests/classmap003.phpt, revision 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>