From 97dddf3cf23f7d2829d23efb9d44b746ac7d52cc Mon Sep 17 00:00:00 2001
From: knut <>
Date: Thu, 6 Jul 2006 19:45:32 +0000
Subject: Added a TSoapService prototype with a simple demo app
---
demos/soap/protected/application.xml | 10 +++
demos/soap/protected/pages/Home.page | 20 +++++
demos/soap/protected/pages/Home.php | 44 +++++++++++
demos/soap/protected/runtime/global.cache | 1 +
demos/soap/protected/webservices/SimpleService.php | 89 ++++++++++++++++++++++
5 files changed, 164 insertions(+)
create mode 100644 demos/soap/protected/application.xml
create mode 100644 demos/soap/protected/pages/Home.page
create mode 100644 demos/soap/protected/pages/Home.php
create mode 100644 demos/soap/protected/runtime/global.cache
create mode 100644 demos/soap/protected/webservices/SimpleService.php
(limited to 'demos/soap/protected')
diff --git a/demos/soap/protected/application.xml b/demos/soap/protected/application.xml
new file mode 100644
index 00000000..e59c5b84
--- /dev/null
+++ b/demos/soap/protected/application.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demos/soap/protected/pages/Home.page b/demos/soap/protected/pages/Home.page
new file mode 100644
index 00000000..732022e9
--- /dev/null
+++ b/demos/soap/protected/pages/Home.page
@@ -0,0 +1,20 @@
+
+
+ TSoapService Demo
+
+
+TSoapService Demo
+Welcome to the TSoapService demo. See service description.
+
+
+Soap Calculator
+ + =
+
+Highlight source code
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demos/soap/protected/pages/Home.php b/demos/soap/protected/pages/Home.php
new file mode 100644
index 00000000..98fbe6c6
--- /dev/null
+++ b/demos/soap/protected/pages/Home.php
@@ -0,0 +1,44 @@
+_client = new SoapClient($wsdl, array('soap_version' => SOAP_1_1,
+ //'use' => '',
+ // 'style' => ''));
+
+ // TODO: use classmap
+ $this->_client = new SoapClient(null, array('location' => $location, 'uri' => 'urn:SimpleService', 'soap_version' => SOAP_1_2));
+ }
+
+ public function onCompute($sender, $param) {
+ $a = $this->a->Text;
+ $b = $this->b->Text;
+
+ try {
+ $result = $this->_client->add($a, $b);
+ } catch(SoapFault $e) { // TODO: Prado wrapper for SoapFault (TSoapFaultException)
+ print $e;
+ }
+ //var_dump($result);
+ $this->result->Text = $result;
+ }
+
+ public function onHighlight($sender, $param) {
+ try {
+ $result = $this->_client->__soapCall('highlight', array(file_get_contents(__FILE__)));
+ } catch(SoapFault $e) { // TODO: Prado wrapper for SoapFault (TSoapFaultException)
+ print $e;
+ }
+ $this->SourceCode->Text = $result;
+ }
+
+}
+
+?>
\ No newline at end of file
diff --git a/demos/soap/protected/runtime/global.cache b/demos/soap/protected/runtime/global.cache
new file mode 100644
index 00000000..0520dc3a
--- /dev/null
+++ b/demos/soap/protected/runtime/global.cache
@@ -0,0 +1 @@
+a:1:{s:35:"prado:securitymanager:validationkey";s:38:"16373386985182982755332313631333778405";}
\ No newline at end of file
diff --git a/demos/soap/protected/webservices/SimpleService.php b/demos/soap/protected/webservices/SimpleService.php
new file mode 100644
index 00000000..e59546bb
--- /dev/null
+++ b/demos/soap/protected/webservices/SimpleService.php
@@ -0,0 +1,89 @@
+equation = "$leftSide $operation $rightSide";
+ $result->result = $this->evaluateExpression($leftSide, $operation, $rightSide);
+ if (count($this->errors)) {
+ $result->success = false;
+ $result->errors = $this->errors;
+ }
+ else {
+ $result->success = true;
+ }
+
+ return $result;
+ }
+
+ /**
+ * Simply add two operands
+ * @param int $a
+ * @param int $b
+ * @return int The result
+ * @soapmethod
+ */
+ public function add($a, $b) {
+ return $a + $b;
+ }
+
+ /**
+ * This method evaluates the expression. It should be capable of handling any $op
+ * passed to it.
+ * @return string the result of the evaluation
+ */
+ private function evaluateExpression($left, $op, $right)
+ {
+ // Now, because we don't want to eval random code on the server that this is running
+ // on, we're just going to highlight the string
+ $evaluation = highlight_string("$left $op $right;", true);
+ return $evaluation;
+ }
+}
+
+class ComputationResult
+{
+ /**
+ * @var string The initial equation
+ */
+ public $equation;
+
+ /**
+ * @var string The computed result
+ */
+ public $result;
+
+ /**
+ * @var boolean Whether the computation succeeded
+ */
+ public $success;
+
+ /**
+ * @var array any errors that occured in the processing.
+ */
+ public $errors;
+}
+?>
\ No newline at end of file
--
cgit v1.2.3