Annotation of embedaddon/php/ext/soap/tests/bugs/bug31695.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #31695 (Cannot redefine endpoint when using WSDL)
        !             3: --SKIPIF--
        !             4: <?php require_once('skipif.inc'); ?>
        !             5: --FILE--
        !             6: <?php
        !             7: ini_set("soap.wsdl_cache_enabled", 0);
        !             8: 
        !             9: function Test($x) {
        !            10:        return $x;
        !            11: }
        !            12: 
        !            13: class LocalSoapClient extends SoapClient {
        !            14:   function __construct($wsdl, $options=array()) {
        !            15:     parent::__construct($wsdl, $options);
        !            16:     $this->server = new SoapServer($wsdl, $options);
        !            17:                $this->server->addFunction("Test"); 
        !            18:   }
        !            19: 
        !            20:   function __doRequest($request, $location, $action, $version, $one_way = 0) {
        !            21:        echo "$location\n";
        !            22:     ob_start();
        !            23:     $this->server->handle($request);
        !            24:     $response = ob_get_contents();
        !            25:     ob_end_clean();
        !            26:     return $response;
        !            27:   }
        !            28: }
        !            29: 
        !            30: $client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl");
        !            31: $client->Test("str");
        !            32: $client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl", array("location"=>"test://1"));
        !            33: $client->Test("str");
        !            34: $client->__soapCall("Test", 
        !            35:                     array("arg1"),
        !            36:                      array("location"=>"test://2"));
        !            37: $old = $client->__setLocation("test://3");
        !            38: echo "$old\n";
        !            39: $client->Test("str");
        !            40: $client->Test("str");
        !            41: $client->__setLocation($old);
        !            42: $client->Test("str");
        !            43: $old = $client->__setLocation();
        !            44: $client->Test("str");
        !            45: $client->__setLocation($old);
        !            46: $client->Test("str");
        !            47: $client->__setLocation(null);
        !            48: $client->Test("str");
        !            49: var_dump($client->__setLocation());
        !            50: ?>
        !            51: --EXPECT--
        !            52: test://0
        !            53: test://1
        !            54: test://2
        !            55: test://1
        !            56: test://3
        !            57: test://3
        !            58: test://1
        !            59: test://0
        !            60: test://1
        !            61: test://0
        !            62: NULL

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>