summaryrefslogtreecommitdiff
path: root/framework/Vendor/WsdlGen/WsdlMessage.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Vendor/WsdlGen/WsdlMessage.php')
-rw-r--r--framework/Vendor/WsdlGen/WsdlMessage.php80
1 files changed, 80 insertions, 0 deletions
diff --git a/framework/Vendor/WsdlGen/WsdlMessage.php b/framework/Vendor/WsdlGen/WsdlMessage.php
new file mode 100644
index 00000000..3597c977
--- /dev/null
+++ b/framework/Vendor/WsdlGen/WsdlMessage.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * WsdlMessage file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the BSD License.
+ *
+ * Copyright(c) 2005 by Marcus Nyeholt. All rights reserved.
+ *
+ * To contact the author write to {@link mailto:tanus@users.sourceforge.net Marcus Nyeholt}
+ * This file is part of the PRADO framework from {@link http://www.xisc.com}
+ *
+ * @author Marcus Nyeholt <tanus@users.sourceforge.net>
+ * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
+ * @package System.Web.Services.SOAP
+ */
+
+/**
+ * Represents a WSDL message. This is bound to the portTypes
+ * for this service
+ * @author Marcus Nyeholt <tanus@users.sourceforge.net>
+ * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
+ * @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;
+ }
+}