diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceInternal/Direct.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/Incoming.java | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/java/src/IceInternal/Direct.java b/java/src/IceInternal/Direct.java index e4162b975e4..d36d35150d7 100644 --- a/java/src/IceInternal/Direct.java +++ b/java/src/IceInternal/Direct.java @@ -37,6 +37,10 @@ public final class Direct if(_servant == null) { _locator = servantManager.findServantLocator(_current.id.category); + if(_locator == null && _current.id.category.length() > 0) + { + _locator = servantManager.findServantLocator(""); + } if(_locator != null) { _cookie = new Ice.LocalObjectHolder(); // Lazy creation. diff --git a/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java index 11c433f53d0..59954012806 100644 --- a/java/src/IceInternal/Incoming.java +++ b/java/src/IceInternal/Incoming.java @@ -111,6 +111,18 @@ final public class Incoming extends IncomingBase if(_servant == null) { _locator = servantManager.findServantLocator(_current.id.category); + if(_locator == null && _current.id.category.length() > 0) + { + _locator = servantManager.findServantLocator(""); + } + if(_locator != null) + { + _servant = _locator.locate(_current, _cookie); + } + } + if(_servant == null) + { + _locator = servantManager.findServantLocator(""); if(_locator != null) { _servant = _locator.locate(_current, _cookie); |