69 $functionName = $body->name();
70 $namespaceURI = $body->namespaceURI();
74 if (!in_array($functionName, $this->FunctionList)
75 and isset($this->MessageTags[$functionName])
78 $functionName = $this->MessageTags[$functionName];
81 if (!in_array($functionName, $this->FunctionList))
90 $paramsDecoder =
new CSOAPResponse($functionName, $namespaceURI);
91 $paramsDecoder->setTypensVars($this->TypensVars);
93 if (!isset($this->TypensVars[$functionName]) or
94 !isset($this->TypensVars[$functionName][
"myclassname"]) or
95 !isset($this->TypensVars[$functionName][
"input"])
102 $objectName = $this->TypensVars[$functionName][
"myclassname"];
103 $inputParams = $this->TypensVars[$functionName][
"input"];
106 if (isset($this->TypensVars[$functionName][
"httpauth"]))
108 $httpAuth = $this->TypensVars[$functionName][
"httpauth"];
118 foreach ($requestNode->children() as $parameterNode)
120 if (!$parameterNode->name())
126 foreach ($inputParams as $pname => $param)
132 $decoded = $paramsDecoder->decodeDataTypes(
$requestParams[$pname]);
135 if (is_object($decoded) and (get_class($decoded) ==
"CSOAPFault" or get_class($decoded) ==
"csoapfault"))
142 !isset($decoded) and (!isset($param[
"strict"])
143 or (isset($param[
"strict"]) and $param[
"strict"] ==
"strict"))
152 unset($paramsDecoder);
156 if (class_exists($objectName))
157 $object =
new $objectName;
159 if (is_object($object) && method_exists($object, $functionName))
165 call_user_func_array(
166 array($object, $functionName),
171 else if (!class_exists($objectName))
177 new CSOAPFault(
'Server Error',
'Object not found')
186 new CSOAPFault(
'Server Error',
'Method not found')