From 458cc11ebcfe51a561a4bcfba3d132e134787af0 Mon Sep 17 00:00:00 2001 From: antelder Date: Fri, 19 Aug 2011 20:46:35 +0000 Subject: Fix jms text wireformat to work with async services git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1159781 13f79535-47bb-0310-9956-ffa450edef68 --- .../jmstext/runtime/WireFormatJMSTextServiceInterceptor.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceInterceptor.java') diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceInterceptor.java index 1ba0744593..1d3d4e7a42 100644 --- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceInterceptor.java +++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceInterceptor.java @@ -91,6 +91,12 @@ public class WireFormatJMSTextServiceInterceptor extends InterceptorAsyncImpl { public Message invokeResponse(Message msg) { // get the jms context JMSBindingContext context = msg.getBindingContext(); + // The Binding Context may be null on an asynchronous response - in which case, create a new one + if(context == null) { + context = createBindingContext(); + msg.setBindingContext(context); + } + Session session = context.getJmsResponseSession(); javax.jms.Message responseJMSMsg; @@ -113,6 +119,12 @@ public class WireFormatJMSTextServiceInterceptor extends InterceptorAsyncImpl { public void setNext(Invoker next) { this.next = next; } + + private JMSBindingContext createBindingContext() { + JMSBindingContext context = new JMSBindingContext(); + context.setJmsResourceFactory(jmsResourceFactory); + return context; + } public Message processRequest(Message msg) { return invokeRequest(msg); -- cgit v1.2.3