function parametersMatchWrapped($type, &$parameters) {
		$this->debug("in parametersMatchWrapped type=$type, parameters=");
		$this->appendDebug($this->varDump($parameters));

		// split type into namespace:unqualified-type
		if (strpos($type, ':')) {
			$uqType = substr($type, strrpos($type, ':') + 1);
			$ns = substr($type, 0, strrpos($type, ':'));
			$this->debug("in parametersMatchWrapped: got a prefixed type: $uqType, $ns");
			if ($this->getNamespaceFromPrefix($ns)) {
				$ns = $this->getNamespaceFromPrefix($ns);
				$this->debug("in parametersMatchWrapped: expanded prefixed type: $uqType, $ns");
			}
		} else {
			// TODO: should the type be compared to types in XSD, and the namespace
			// set to XSD if the type matches?
			$this->debug("in parametersMatchWrapped: No namespace for type $type");
			$ns = '';
			$uqType = $type;
		}

		// get the type information
		if (!$typeDef = $this->getTypeDef($uqType, $ns)) {
			$this->debug("in parametersMatchWrapped: $type ($uqType) is not a supported type.");
			return false;
		}
		$this->debug("in parametersMatchWrapped: found typeDef=");
		$this->appendDebug($this->varDump($typeDef));
		if (substr($uqType, -1) == '^') {
			$uqType = substr($uqType, 0, -1);
		}
		$phpType = $typeDef['phpType'];
		$arrayType = (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '');
		$this->debug("in parametersMatchWrapped: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: $arrayType");
		
		// we expect a complexType or element of complexType
		if ($phpType != 'struct') {
			$this->debug("in parametersMatchWrapped: not a struct");
			return false;
		}

		// see whether the parameter names match the elements
		if (isset($typeDef['elements']) && is_array($typeDef['elements'])) {
			$elements = 0;
			$matches = 0;
			foreach ($typeDef['elements'] as $name => $attrs) {
				if (isset($parameters[$name])) {
					$this->debug("in parametersMatchWrapped: have parameter named $name");
					$matches++;
				} else {
					$this->debug("in parametersMatchWrapped: do not have parameter named $name");
				}
				$elements++;
			}

			$this->debug("in parametersMatchWrapped: $matches parameter names match $elements wrapped parameter names");
			if ($matches == 0) {
				return false;
			}
			return true;
		}

		// since there are no elements for the type, if the user passed no
		// parameters, the parameters match wrapped.
		$this->debug("in parametersMatchWrapped: no elements type $ns:$uqType");
		return count($parameters) == 0;
	}
function parametersMatchWrapped($type, &$parameters) {
		$this->debug("in parametersMatchWrapped type=$type, parameters=");
		$this->appendDebug($this->varDump($parameters));

		// split type into namespace:unqualified-type
		if (strpos($type, ':')) {
			$uqType = substr($type, strrpos($type, ':') + 1);
			$ns = substr($type, 0, strrpos($type, ':'));
			$this->debug("in parametersMatchWrapped: got a prefixed type: $uqType, $ns");
			if ($this->getNamespaceFromPrefix($ns)) {
				$ns = $this->getNamespaceFromPrefix($ns);
				$this->debug("in parametersMatchWrapped: expanded prefixed type: $uqType, $ns");
			}
		} else {
			// TODO: should the type be compared to types in XSD, and the namespace
			// set to XSD if the type matches?
			$this->debug("in parametersMatchWrapped: No namespace for type $type");
			$ns = '';
			$uqType = $type;
		}

		// get the type information
		if (!$typeDef = $this->getTypeDef($uqType, $ns)) {
			$this->debug("in parametersMatchWrapped: $type ($uqType) is not a supported type.");
			return false;
		}
		$this->debug("in parametersMatchWrapped: found typeDef=");
		$this->appendDebug($this->varDump($typeDef));
		if (substr($uqType, -1) == '^') {
			$uqType = substr($uqType, 0, -1);
		}
		$phpType = $typeDef['phpType'];
		$arrayType = (isset($typeDef['arrayType']) ? $typeDef['arrayType'] : '');
		$this->debug("in parametersMatchWrapped: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: $arrayType");
		
		// we expect a complexType or element of complexType
		if ($phpType != 'struct') {
			$this->debug("in parametersMatchWrapped: not a struct");
			return false;
		}

		// see whether the parameter names match the elements
		if (isset($typeDef['elements']) && is_array($typeDef['elements'])) {
			$elements = 0;
			$matches = 0;
			foreach ($typeDef['elements'] as $name => $attrs) {
				if (isset($parameters[$name])) {
					$this->debug("in parametersMatchWrapped: have parameter named $name");
					$matches++;
				} else {
					$this->debug("in parametersMatchWrapped: do not have parameter named $name");
				}
				$elements++;
			}

			$this->debug("in parametersMatchWrapped: $matches parameter names match $elements wrapped parameter names");
			if ($matches == 0) {
				return false;
			}
			return true;
		}

		// since there are no elements for the type, if the user passed no
		// parameters, the parameters match wrapped.
		$this->debug("in parametersMatchWrapped: no elements type $ns:$uqType");
		return count($parameters) == 0;
	}
function parametersMatchWrapped ( $ type , & $ parameters ) { $ this -> debug ( "in parametersMatchWrapped type=$type, parameters=" ) ; $ this -> appendDebug ( $ this -> varDump ( $ parameters ) ) ; // split type into namespace:unqualified-type
 if ( strpos ( $ type , ':' ) ) { $ uqType = substr ( $ type , strrpos ( $ type , ':' ) + 1 ) ; $ ns = substr ( $ type , 0 , strrpos ( $ type , ':' ) ) ; $ this -> debug ( "in parametersMatchWrapped: got a prefixed type: $uqType, $ns" ) ; if ( $ this -> getNamespaceFromPrefix ( $ ns ) ) { $ ns = $ this -> getNamespaceFromPrefix ( $ ns ) ; $ this -> debug ( "in parametersMatchWrapped: expanded prefixed type: $uqType, $ns" ) ; } } else { // TODO: should the type be compared to types in XSD, and the namespace
 // set to XSD if the type matches?
 $ this -> debug ( "in parametersMatchWrapped: No namespace for type $type" ) ; $ ns = '' ; $ uqType = $ type ; } // get the type information
 if ( ! $ typeDef = $ this -> getTypeDef ( $ uqType , $ ns ) ) { $ this -> debug ( "in parametersMatchWrapped: $type ($uqType) is not a supported type." ) ; return false ; } $ this -> debug ( "in parametersMatchWrapped: found typeDef=" ) ; $ this -> appendDebug ( $ this -> varDump ( $ typeDef ) ) ; if ( substr ( $ uqType , - 1 ) == '^' ) { $ uqType = substr ( $ uqType , 0 , - 1 ) ; } $ phpType = $ typeDef [ 'phpType' ] ; $ arrayType = ( isset ( $ typeDef [ 'arrayType' ] ) ? $ typeDef [ 'arrayType' ] : '' ) ; $ this -> debug ( "in parametersMatchWrapped: uqType: $uqType, ns: $ns, phptype: $phpType, arrayType: $arrayType" ) ; // we expect a complexType or element of complexType
 if ( $ phpType != 'struct' ) { $ this -> debug ( "in parametersMatchWrapped: not a struct" ) ; return false ; } // see whether the parameter names match the elements
 if ( isset ( $ typeDef [ 'elements' ] ) && is_array ( $ typeDef [ 'elements' ] ) ) { $ elements = 0 ; $ matches = 0 ; foreach ( $ typeDef [ 'elements' ] as $ name => $ attrs ) { if ( isset ( $ parameters [ $ name ] ) ) { $ this -> debug ( "in parametersMatchWrapped: have parameter named $name" ) ; $ matches ++ ; } else { $ this -> debug ( "in parametersMatchWrapped: do not have parameter named $name" ) ; } $ elements ++ ; } $ this -> debug ( "in parametersMatchWrapped: $matches parameter names match $elements wrapped parameter names" ) ; if ( $ matches == 0 ) { return false ; } return true ; } // since there are no elements for the type, if the user passed no
 // parameters, the parameters match wrapped.
 $ this -> debug ( "in parametersMatchWrapped: no elements type $ns:$uqType" ) ; return count ( $ parameters ) == 0 ; }
determine whether a set of parameters are unwrapped
when they are expect to be wrapped, Microsoft-style.

@param string $type the type (element name) of the wrapper
@param array $parameters the parameter values for the SOAP call
@return boolean whether they parameters are unwrapped (and should be wrapped)
@access private
determine whether a set of parameters are unwrapped when they are expect to be wrapped Microsoft - style .