diff options
Diffstat (limited to 'framework/Web/Services/TSoapService.php')
-rw-r--r-- | framework/Web/Services/TSoapService.php | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/framework/Web/Services/TSoapService.php b/framework/Web/Services/TSoapService.php index 05e62171..2d161f15 100644 --- a/framework/Web/Services/TSoapService.php +++ b/framework/Web/Services/TSoapService.php @@ -294,7 +294,7 @@ class TSoapServer extends TApplicationComponent */ public function __construct() { - $this->_classMap=new TAttributeCollection; + $this->_classMap=new TMap;//TAttributeCollection; } /** @@ -332,7 +332,14 @@ class TSoapServer extends TApplicationComponent } else $server=$this->createServer(); - $server->handle(); + try + { + $server->handle(); + } + catch (Exception $e) + { + $server->fault("SERVER", $e->getMessage(),"", $e->__toString(), ''); + } } /** @@ -340,6 +347,8 @@ class TSoapServer extends TApplicationComponent */ protected function createServer() { + if($this->getApplication()->getMode()===TApplicationMode::Debug) + ini_set("soap.wsdl_cache_enabled",0); return new SoapServer($this->getWsdlUri(),$this->getOptions()); } |