summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ReferenceFactory.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-11-13 10:44:35 +0100
committerBenoit Foucher <benoit@zeroc.com>2012-11-13 10:44:35 +0100
commitbc9956fd72f4459264c8ccc112bb6b6fa3b68e3a (patch)
treeb3f2eab324b8bddb54d7db5707e1e8f738ecbb3d /java/src/IceInternal/ReferenceFactory.java
parentFixed ICE-4927: fixed proxy encoding to marshal protocol/encoding version ins... (diff)
downloadice-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.java9
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";