Index: trunk/src/main/java/omq/client/proxy/MultiProxymq.java
===================================================================
--- trunk/src/main/java/omq/client/proxy/MultiProxymq.java	(revision 74)
+++ trunk/src/main/java/omq/client/proxy/MultiProxymq.java	(revision 75)
@@ -4,4 +4,6 @@
 import java.lang.reflect.Method;
 import java.util.Properties;
+
+import org.apache.log4j.Logger;
 
 import com.rabbitmq.client.AMQP.BasicProperties;
@@ -20,4 +22,5 @@
  */
 public class MultiProxymq implements InvocationHandler {
+	private static final Logger logger = Logger.getLogger(MultiProxymq.class.getName());
 	private static final String multi = "multi#";
 
@@ -37,5 +40,5 @@
 		Properties env = broker.getEnvironment();
 		replyQueueName = env.getProperty(ParameterQueue.RPC_REPLY_QUEUE);
-		exchange = multi + env.getProperty(ParameterQueue.RPC_EXCHANGE);
+		exchange = multi + uid;
 		serializerType = env.getProperty(ParameterQueue.SERIALIZER_NAME, Serializer.JAVA);
 	}
@@ -55,4 +58,7 @@
 		broker.getChannel().basicPublish(exchange, routingkey, props, bytesRequest);
 
+		logger.debug("Proxymq: " + uid + " invokes " + methodName + ", corrID" + corrId + ", exchange: " + exchange + ", replyQueue: " + replyQueueName
+				+ ", serializerType: " + serializerType + ", multi call: " + request.isMulti() + ", async call: " + request.isAsync());
+
 		return null;
 	}
Index: trunk/src/main/java/omq/client/proxy/Proxymq.java
===================================================================
--- trunk/src/main/java/omq/client/proxy/Proxymq.java	(revision 74)
+++ trunk/src/main/java/omq/client/proxy/Proxymq.java	(revision 75)
@@ -90,5 +90,5 @@
 		env = broker.getEnvironment();
 		exchange = env.getProperty(ParameterQueue.RPC_EXCHANGE);
-		multiExchange = multi + exchange;
+		multiExchange = multi + uid;
 		replyQueueName = env.getProperty(ParameterQueue.RPC_REPLY_QUEUE);
 
Index: trunk/src/main/java/omq/common/message/Request.java
===================================================================
--- trunk/src/main/java/omq/common/message/Request.java	(revision 74)
+++ trunk/src/main/java/omq/common/message/Request.java	(revision 75)
@@ -23,11 +23,5 @@
 	}
 
-	public Request(String id, String method, Object[] params) {
-		this.id = id;
-		this.method = method;
-		this.params = params;
-	}
-
-	private Request(String id, String method, boolean async, Object[] params) {
+	public Request(String id, String method, boolean async, Object[] params) {
 		this.id = id;
 		this.method = method;
@@ -36,5 +30,5 @@
 	}
 
-	private Request(String id, String method, boolean async, Object[] params, boolean multi) {
+	public Request(String id, String method, boolean async, Object[] params, boolean multi) {
 		this.id = id;
 		this.method = method;
Index: trunk/src/main/java/omq/common/util/Serializers/GsonImp.java
===================================================================
--- trunk/src/main/java/omq/common/util/Serializers/GsonImp.java	(revision 74)
+++ trunk/src/main/java/omq/common/util/Serializers/GsonImp.java	(revision 75)
@@ -33,4 +33,5 @@
 		String id = jsonObj.get("id").getAsString();
 		String method = jsonObj.get("method").getAsString();
+		boolean async = jsonObj.get("async").getAsBoolean();
 
 		List<Class<?>> types = obj.getParams(method);
@@ -48,8 +49,7 @@
 				i++;
 			}
-
-			return new Request(id, method, arguments);
+			return new Request(id, method, async, arguments);
 		} catch (NullPointerException e) {
-			return new Request(id, method, null);
+			return new Request(id, method, async, null);
 		}
 	}
Index: trunk/src/main/java/omq/server/RemoteObject.java
===================================================================
--- trunk/src/main/java/omq/server/RemoteObject.java	(revision 74)
+++ trunk/src/main/java/omq/server/RemoteObject.java	(revision 75)
@@ -97,5 +97,5 @@
 				Delivery delivery = consumer.nextDelivery();
 
-				logger.debug(UID + " has received a message");
+				logger.debug(UID + " has received a message, serializer: " + delivery.getProperties().getType());
 
 				remoteWrapper.notifyDelivery(delivery);
@@ -219,5 +219,5 @@
 		String routingKey = UID;
 		// Multi info
-		String multiExchange = multi + exchange;
+		String multiExchange = multi + UID;
 
 		boolean durable = Boolean.parseBoolean(env.getProperty(ParameterQueue.DURABLE_QUEUES, "false"));
