* @author Wei Zhuo * @version $Id$ * @package System.Web.Services.SOAP */ /** * Represents a WSDL message. This is bound to the portTypes * for this service * @author Marcus Nyeholt * @author Wei Zhuo * @version $Revision$ */ class WsdlMessage { /** * The name of this message * @var string */ private $name; /** * Represents the parameters for this message * @var array */ private $parts; /** * Creates a new message * @param string $messageName The name of the message * @param string $parts The parts of this message */ public function __construct($messageName, $parts) { $this->name = $messageName; $this->parts = $parts; } /** * Gets the name of this message * @return string The name */ public function getName() { return $this->name; } /** * Return the message as a DOM element * @param DOMDocument $wsdl The wsdl document the messages will be children of */ public function getMessageElement(DOMDocument $dom) { $message = $dom->createElementNS('http://schemas.xmlsoap.org/wsdl/', 'wsdl:message'); $message->setAttribute('name', $this->name); foreach ($this->parts as $part) { if (isset($part['name'])) { $partElement = $dom->createElementNS('http://schemas.xmlsoap.org/wsdl/', 'wsdl:part'); $partElement->setAttribute('name', $part['name']); $partElement->setAttribute('type', $part['type']); $message->appendChild($partElement); } } return $message; } }