diff options
author | Marc Laukien <marc@zeroc.com> | 2002-02-08 17:55:35 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-02-08 17:55:35 +0000 |
commit | 0e9473c636e8c348cb8cd1e755f5433267f85f92 (patch) | |
tree | bc60b87e72da53e14654e7c44ba28ac402f60f61 /cpp/src/Ice/Proxy.cpp | |
parent | adding jar target (diff) | |
download | ice-0e9473c636e8c348cb8cd1e755f5433267f85f92.tar.bz2 ice-0e9473c636e8c348cb8cd1e755f5433267f85f92.tar.xz ice-0e9473c636e8c348cb8cd1e755f5433267f85f92.zip |
user exception routing bug fix
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 15c97183036..1360616a5c1 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -238,7 +238,7 @@ IceProxy::Ice::Object::ice_facets(const Context& __context) } } -void +bool IceProxy::Ice::Object::ice_invoke(const string& operation, bool nonmutating, const vector<Byte>& inParams, @@ -251,8 +251,7 @@ IceProxy::Ice::Object::ice_invoke(const string& operation, try { Handle< ::IceDelegate::Ice::Object> __del = __getDelegate(); - __del->ice_invoke(operation, nonmutating, inParams, outParams, context); - return; + return __del->ice_invoke(operation, nonmutating, inParams, outParams, context); } catch (const LocationForward& __ex) { @@ -743,7 +742,7 @@ IceDelegateM::Ice::Object::ice_facets(const Context& __context) return __ret; } -void +bool IceDelegateM::Ice::Object::ice_invoke(const string& operation, bool nonmutating, const vector<Byte>& inParams, @@ -753,13 +752,14 @@ IceDelegateM::Ice::Object::ice_invoke(const string& operation, Outgoing __out(__connection, __reference, operation, nonmutating, context); BasicStream* __os = __out.os(); __os->writeBlob(inParams); - __out.invoke(); + bool ok = __out.invoke(); if (__reference->mode == Reference::ModeTwoway) { BasicStream* __is = __out.is(); Int sz = __is->getReadEncapsSize(); __is->readBlob(outParams, sz); } + return ok; } void @@ -1062,7 +1062,7 @@ IceDelegateD::Ice::Object::ice_facets(const ::Ice::Context& __context) } } -void +bool IceDelegateD::Ice::Object::ice_invoke(const string& operation, bool nonmutating, const vector<Byte>& inParams, @@ -1081,8 +1081,7 @@ IceDelegateD::Ice::Object::ice_invoke(const string& operation, } try { - __servant->ice_invoke(inParams, outParams, __current); - return; + return __servant->ice_invoke(inParams, outParams, __current); } catch (const LocalException&) { |