示例#1
0
 /**
  * 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));
         }
     }
 }
示例#2
0
 /**
  * @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);
 }
示例#3
0
 /**
  * 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));
 }