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

1.1     ! misho       1: --TEST--
        !             2: SOAP handling of <any>
        !             3: --SKIPIF--
        !             4: <?php require_once('skipif.inc'); ?>
        !             5: --INI--
        !             6: precision=14
        !             7: soap.wsdl_cache_enabled=0
        !             8: --FILE--
        !             9: <?php
        !            10: class SOAPComplexType {
        !            11:     function SOAPComplexType($s, $i, $f) {
        !            12:         $this->varString = $s;
        !            13:         $this->varInt = $i;
        !            14:         $this->varFloat = $f;
        !            15:     }
        !            16: }
        !            17: $struct = new SOAPComplexType('arg',34,325.325);
        !            18: 
        !            19: function echoAnyElement($x) {
        !            20:        global $g;
        !            21: 
        !            22:        $g = $x;
        !            23:        $struct = $x->inputAny->any["SOAPComplexType"];
        !            24:        if ($struct instanceof SOAPComplexType) {
        !            25:                return array("return" => array("any" => array("SOAPComplexType"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/"))));
        !            26:        } else {
        !            27:                return "?";
        !            28:        }
        !            29: }
        !            30: 
        !            31: class TestSoapClient extends SoapClient {
        !            32:   function __construct($wsdl, $options) {
        !            33:     parent::__construct($wsdl, $options);
        !            34:     $this->server = new SoapServer($wsdl, $options);
        !            35:     $this->server->addFunction('echoAnyElement');
        !            36:   }
        !            37: 
        !            38:   function __doRequest($request, $location, $action, $version, $one_way = 0) {
        !            39:     ob_start();
        !            40:     $this->server->handle($request);
        !            41:     $response = ob_get_contents();
        !            42:     ob_end_clean();
        !            43:     return $response;
        !            44:   }
        !            45: }
        !            46: 
        !            47: $client = new TestSoapClient(dirname(__FILE__)."/interop/Round4/GroupI/round4_groupI_xsd.wsdl",
        !            48:                              array("trace"=>1,"exceptions"=>0,
        !            49:                              'classmap' => array('SOAPComplexType'=>'SOAPComplexType')));
        !            50: $ret = $client->echoAnyElement(
        !            51:   array(
        !            52:     "inputAny"=>array(
        !            53:        "any"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")
        !            54:      )));
        !            55: var_dump($g);
        !            56: var_dump($ret);
        !            57: ?>
        !            58: --EXPECT--
        !            59: object(stdClass)#5 (1) {
        !            60:   ["inputAny"]=>
        !            61:   object(stdClass)#6 (1) {
        !            62:     ["any"]=>
        !            63:     array(1) {
        !            64:       ["SOAPComplexType"]=>
        !            65:       object(SOAPComplexType)#7 (3) {
        !            66:         ["varInt"]=>
        !            67:         int(34)
        !            68:         ["varString"]=>
        !            69:         string(3) "arg"
        !            70:         ["varFloat"]=>
        !            71:         float(325.325)
        !            72:       }
        !            73:     }
        !            74:   }
        !            75: }
        !            76: object(stdClass)#8 (1) {
        !            77:   ["return"]=>
        !            78:   object(stdClass)#9 (1) {
        !            79:     ["any"]=>
        !            80:     array(1) {
        !            81:       ["SOAPComplexType"]=>
        !            82:       object(SOAPComplexType)#10 (3) {
        !            83:         ["varInt"]=>
        !            84:         int(34)
        !            85:         ["varString"]=>
        !            86:         string(3) "arg"
        !            87:         ["varFloat"]=>
        !            88:         float(325.325)
        !            89:       }
        !            90:     }
        !            91:   }
        !            92: }

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