diff options
Diffstat (limited to 'demos/soap/protected/pages/Home.php')
-rw-r--r-- | demos/soap/protected/pages/Home.php | 63 |
1 files changed, 25 insertions, 38 deletions
diff --git a/demos/soap/protected/pages/Home.php b/demos/soap/protected/pages/Home.php index 98fbe6c6..a52ea384 100644 --- a/demos/soap/protected/pages/Home.php +++ b/demos/soap/protected/pages/Home.php @@ -1,43 +1,30 @@ <?php -class Home extends TPage { - - private $_client; - - public function onInit($param) { - // TODO: configure wsdl - $wsdl = 'http://localhost/prado/svn/trunk/demos/soap/index.php?soap=SimpleService&wsdl'; - $location = 'http://localhost/prado/svn/trunk/demos/soap/index.php?soap=SimpleService'; - // TODO: use TSoapClient - //$this->_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; - } +class Home extends TPage +{ + private $_client=null; + + protected function getSoapClient() + { + if($this->_client===null) + { + $wsdlUri=$this->Request->AbsoluteApplicationUrl.'?soap=calculator.wsdl'; + $this->_client=new SoapClient($wsdlUri); + } + return $this->_client; + } + + public function computeButtonClicked($sender,$param) + { + $number1=TPropertyValue::ensureInteger($this->Number1->Text); + $number2=TPropertyValue::ensureInteger($this->Number2->Text); + $this->AdditionResult->Text=$this->getSoapClient()->add($number1+$number2); + } + + public function highlightButtonClicked($sender, $param) + { + $this->HighlightResult->Text=$this->getSoapClient()->highlight(file_get_contents(__FILE__)); + } } |