From 84ef34efa534032fbf89a7c1b30258a73c69a71b Mon Sep 17 00:00:00 2001 From: slaws Date: Thu, 5 Feb 2009 18:27:01 +0000 Subject: TUSCANY-2799 - don't return responses inside arrays. Generally reorg the code so that the message processors only worry about getting data in and out of JMS message while the interceptors worry about whether the data should be wrapped as an array. In this way the forward path can do array wrapping in order to keep databinding happy while the response path can omit array wrapping git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@741219 13f79535-47bb-0310-9956-ffa450edef68 --- .../runtime/WireFormatJMSTextXMLReferenceInterceptor.java | 6 +++--- .../jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime') diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceInterceptor.java index d0f10b8ba7..c40429d836 100644 --- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceInterceptor.java +++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceInterceptor.java @@ -104,9 +104,9 @@ public class WireFormatJMSTextXMLReferenceInterceptor implements Interceptor { public Message invokeResponse(Message msg) { if (msg.getBody() != null){ - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); - if (response != null && response.length > 0){ - msg.setBody(response[0]); + Object response = responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); + if (response != null ){ + msg.setBody(response); } else { msg.setBody(null); } diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java index 778062d945..baa0d2ee23 100644 --- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java +++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java @@ -83,7 +83,7 @@ public class WireFormatJMSTextXMLServiceInterceptor implements Interceptor { msg.setBody(new Object[]{jmsMsg}); } else { Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg); - msg.setBody(requestPayload); + msg.setBody(new Object[]{requestPayload}); } return msg; -- cgit v1.2.3