PEAR::SOAP Another order bug

From: Date: Wed, 01 Dec 2004 14:29:11 +0000
Subject: PEAR::SOAP Another order bug
Groups: php.soap 
Request: Send a blank email to php-soap+get-1671@lists.php.net to get a copy of this message
Server.php: There's another Bug which uses the order given in the service's wsdl instead the order of the parameters in the request (see lines 512.. in Server.php). Simple Solution:
                    // validate each param's type
                    /**
                     * DISABLED (uses the wsdl order for params, which do not complaint to the order in the request
                     START>>
                    for($i=0; $i < count($p); $i++) {
                        // type not match
                        // if soap types do not match, we ok it if the mapped php types match
                        // this allows using plain php variables to work (ie. stuff like Decimal would fail otherwise)
                        // we only error if the types exist in our type maps, and they differ
                        if (strcasecmp($sig_t[$i],$p[$i])!=0 &&
(isset($this->_typemap[SOAP_XML_SCHEMA_VERSION][$sig_t[$i]]) && strcasecmp($this->_typemap[SOAP_XML_SCHEMA_VERSION][$sig_t[$i]],$this->_typemap[SOAP_XML_SCHEMA_VERSION][$p[$i]])!=0)) {
                            $param = $params[$i];
                            $this->_raiseSoapFault("soap request contained mismatching parameters of name $param->name had type [{$p[$i]}], which did not match signature's type: [{$sig_t[$i]}], matched? ".(strcasecmp($sig_t[$i],$p[$i])),'','','Client');
                            return false;
                        }
                    }
                     <<END
                    */


« previous php.soap (#1671) next »