summaryrefslogtreecommitdiff
path: root/framework/Web
diff options
context:
space:
mode:
authorwei <>2007-01-12 05:53:43 +0000
committerwei <>2007-01-12 05:53:43 +0000
commitf7ca8c7ac8718899c1ab36513aaf3853a4514816 (patch)
tree3eae66f3578b84bc68c489538fd832b3f424ad05 /framework/Web
parent34d24de2f004df6ab096f4165eb31e16e70e76bb (diff)
Fixed a number of SOAP bugs.
Diffstat (limited to 'framework/Web')
-rw-r--r--framework/Web/Services/TSoapService.php13
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());
}