diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-08-19 19:55:46 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-08-19 19:55:46 +0000 |
commit | 7bda76851bb05833f9ba0f96141154d015a2088b (patch) | |
tree | cf600d6d6f74349f5d54e3b51c35016ec694b893 /sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java | |
parent | 26a29763aa23bf394dbb36a35a09937660168dc2 (diff) |
Fix NPE in jmsObject wireformat with async services
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1159761 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java index e04501e8b7..d4bc99aa7b 100644 --- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java +++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/runtime/WireFormatJMSObjectServiceInterceptor.java @@ -116,6 +116,13 @@ public class WireFormatJMSObjectServiceInterceptor 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 = null; @@ -138,7 +145,13 @@ public class WireFormatJMSObjectServiceInterceptor extends InterceptorAsyncImpl this.next = next; } - public Message processRequest(Message msg) { + private JMSBindingContext createBindingContext() { + JMSBindingContext context = new JMSBindingContext(); + context.setJmsResourceFactory(jmsResourceFactory); + return context; + } + + public Message processRequest(Message msg) { return invokeRequest(msg); } // end method processRequest |