diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-11-13 10:44:35 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-11-13 10:44:35 +0100 |
commit | bc9956fd72f4459264c8ccc112bb6b6fa3b68e3a (patch) | |
tree | b3f2eab324b8bddb54d7db5707e1e8f738ecbb3d /java/src/IceInternal/ReferenceFactory.java | |
parent | Fixed ICE-4927: fixed proxy encoding to marshal protocol/encoding version ins... (diff) | |
download | ice-bc9956fd72f4459264c8ccc112bb6b6fa3b68e3a.tar.bz2 ice-bc9956fd72f4459264c8ccc112bb6b6fa3b68e3a.tar.xz ice-bc9956fd72f4459264c8ccc112bb6b6fa3b68e3a.zip |
More fixes for ICE-4927: fixed locator encoding for proxy specifying a locator property
Diffstat (limited to 'java/src/IceInternal/ReferenceFactory.java')
-rw-r--r-- | java/src/IceInternal/ReferenceFactory.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/java/src/IceInternal/ReferenceFactory.java b/java/src/IceInternal/ReferenceFactory.java index 4ec3f1b9fba..16283cf3dbd 100644 --- a/java/src/IceInternal/ReferenceFactory.java +++ b/java/src/IceInternal/ReferenceFactory.java @@ -801,7 +801,14 @@ public final class ReferenceFactory Ice.LocatorPrx locator = Ice.LocatorPrxHelper.uncheckedCast(_communicator.propertyToProxy(property)); if(locator != null) { - locatorInfo = _instance.locatorManager().get(locator); + if(!((Ice.ObjectPrxHelperBase)locator).__reference().getEncoding().equals(encoding)) + { + locatorInfo = _instance.locatorManager().get((Ice.LocatorPrx)locator.ice_encodingVersion(encoding)); + } + else + { + locatorInfo = _instance.locatorManager().get(locator); + } } property = propertyPrefix + ".Router"; |