diff options
Diffstat (limited to '')
-rw-r--r-- | java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java index 43c471d3bc..f1640329e8 100644 --- a/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java +++ b/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java @@ -19,6 +19,9 @@ package org.apache.tuscany.sca.binding.corba.impl; +import java.lang.reflect.Method; +import java.util.Map; + import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest; import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse; @@ -34,9 +37,13 @@ import org.osoa.sca.ServiceRuntimeException; public class CorbaInvoker implements Invoker { private Object remoteObject; + private Class<?> referenceClass; + private Map<Method, String> operationsMap; - public CorbaInvoker(Object remoteObject) { + public CorbaInvoker(Object remoteObject, Class<?> referenceClass, Map<Method, String> operationsMap) { this.remoteObject = remoteObject; + this.referenceClass = referenceClass; + this.operationsMap = operationsMap; } /** @@ -45,6 +52,8 @@ public class CorbaInvoker implements Invoker { public Message invoke(Message msg) { try { DynaCorbaRequest request = new DynaCorbaRequest(remoteObject, msg.getOperation().getName()); + request.setReferenceClass(referenceClass); + request.setOperationsMap(operationsMap); if (msg.getOperation().getOutputType() != null) { request.setOutputType(msg.getOperation().getOutputType().getPhysical()); } |