/** * Fills DOM by method name and parameters. * * @param DOMDocument $doc * @param Coder $coder * @return void */ public function toXml(DOMDocument $doc, Coder $coder) { $methodCallNode = $doc->appendChild($doc->createElement('methodCall')); $methodCallNode->appendChild($doc->createElement('methodName'))->appendChild($doc->createTextNode($this->name)); if (count($this->parameters)) { $paramsNode = $methodCallNode->appendChild($doc->createElement('params')); foreach ($this->parameters as $var) { $paramsNode->appendChild($doc->createElement('param'))->appendChild($coder->encodeValueNode($doc, $var)); } } }
/** * @param DOMDocument $doc * @return MethodFaultResponse */ protected function createMethodFaultResponse(DOMDocument $doc) { $struct = (object) $this->coder->decodeValueNode($doc->getElementsByTagName('value')->item(0)); return new MethodFaultResponse($struct->faultString, $struct->faultCode); }
/** * Fills DOM by return value. * * @param DOMDocument $doc * @param Coder $coder * @return void */ public function toXml(DOMDocument $doc, Coder $coder) { $methodResponseNode = $doc->appendChild($doc->createElement('methodResponse')); $methodResponseNode->appendChild($doc->createElement('params'))->appendChild($doc->createElement('param'))->appendChild($coder->encodeValueNode($doc, $this->returnValue)); }