diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime')
2 files changed, 5 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java index defd8f222a..098bdde3ae 100644 --- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java +++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java @@ -252,7 +252,9 @@ public class RRBJMSBindingInvoker implements Invoker { protected Destination getReplyToDestination(Session session) throws JMSException, JMSBindingException, NamingException { Destination replyToDest; - if (operation.isNonBlocking()) { + // [rfeng] If the oneway operation is part of bi-directional interface, the JMSReplyTo should be set + if (operation.isNonBlocking() && endpointReference.getComponentReferenceInterfaceContract() + .getCallbackInterface() == null) { replyToDest = null; } else { if (bindingReplyDest != null) { diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java index cafcd12cf2..3ed8021107 100644 --- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java +++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java @@ -59,7 +59,8 @@ public class TransportReferenceInterceptor implements Interceptor { // get the jms context JMSBindingContext context = msg.getBindingContext(); - if (context.getReplyToDestination() == null) { + // [rfeng] For oneway operation as part of the bi-directional interface, the JMSReplyTo is present + if (context.getReplyToDestination() == null || msg.getOperation().isNonBlocking()) { responseMsg.setBody(null); } else { responseMsg = invokeResponse(msg); |