/** * Gets a soap:body element for a given wsdl message. * * @param DOMDocument $document A xml document used to create node objects * @param ckWsdlMessage $message A wsdl message * * @return DOMElement A soap:body element */ private function getSoapBodyNode(DOMDocument $document, ckWsdlMessage $message) { $soap = ckXsdNamespace::get('soap'); $soapenc = ckXsdNamespace::get('soapenc'); $tns = ckXsdNamespace::get('tns'); $body_node = $document->createElementNS($soap->getUrl(), $soap->qualify('body')); $parts = $message->getBodyParts(); if (!empty($parts)) { $body_node->setAttribute('parts', ckString::implode(' ', $parts)); } $body_node->setAttribute('use', 'literal'); $body_node->setAttribute('namespace', $tns->getUrl()); $body_node->setAttribute('encodingStyle', $soapenc->getUrl()); return $body_node; }
/** * @see ckDOMSerializable::serialize() */ public function serialize(DOMDocument $document) { $wsdl = ckXsdNamespace::get('wsdl'); $tns = ckXsdNamespace::get('tns'); $node = $document->createElementNS($wsdl->getUrl(), $wsdl->qualify($this->getNodeName())); $node->setAttribute('name', $this->getName()); if (!is_null($this->getInput())) { $input_node = $document->createElementNS($wsdl->getUrl(), $wsdl->qualify('input')); $input_node->setAttribute('message', $tns->qualify($this->getInput()->getName())); $parts = $this->getInput()->getParts(); if (!empty($parts)) { $node->setAttribute('parameterOrder', ckString::implode(' ', $parts)); } $node->appendChild($input_node); } if (!is_null($this->getOutput())) { $output_node = $document->createElementNS($wsdl->getUrl(), $wsdl->qualify('output')); $output_node->setAttribute('message', $tns->qualify($this->getOutput()->getName())); $node->appendChild($output_node); } return $node; }