Author: antelder
Date: Fri Feb 22 04:40:07 2008
New Revision: 630178
URL: http://svn.apache.org/viewvc?rev=630178&view=rev
Log:
Fix for no arg invocations and add an itest for exceptions
Modified:
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorImpl.java
Modified:
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java?rev=630178&r1=630177&r2=630178&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
Fri Feb 22 04:40:07 2008
@@ -34,6 +34,7 @@
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.invocation.PassByValueAware;
+import org.osoa.sca.ServiceRuntimeException;
/**
* Interceptor for the JMS binding.
@@ -182,6 +183,16 @@
msg.setBody(resp);
} catch (InvocationTargetException e) {
msg.setFaultBody(e.getCause());
+ } catch (ServiceRuntimeException e) {
+ if (e.getCause() instanceof InvocationTargetException) {
+ if ((e.getCause().getCause() instanceof RuntimeException)) {
+ msg.setFaultBody(e.getCause());
+ } else {
+ msg.setFaultBody(e.getCause().getCause());
+ }
+ } else {
+ msg.setFaultBody(e);
+ }
} catch (Throwable e) {
msg.setFaultBody(e);
}
Modified:
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorImpl.java?rev=630178&r1=630177&r2=630178&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorImpl.java
Fri Feb 22 04:40:07 2008
@@ -20,7 +20,6 @@
import java.io.Serializable;
import java.io.StringReader;
-import java.lang.reflect.InvocationTargetException;
import javax.jms.JMSException;
import javax.jms.Message;
@@ -115,12 +114,15 @@
try {
String xml = ((TextMessage)msg).getText();
-
- XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xml));
- StAXOMBuilder builder = new StAXOMBuilder(reader);
- OMElement omElement = builder.getDocumentElement();
-
- return new Object[] {omElement};
+ Object o = null;
+ if (xml != null) {
+ XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xml));
+ StAXOMBuilder builder = new StAXOMBuilder(reader);
+ o = new Object[] { builder.getDocumentElement() };
+ } else {
+ o = new Object[]{};
+ }
+ return o;
} catch (XMLStreamException e) {
throw new JMSBindingException(e);
@@ -149,7 +151,7 @@
} else {
if (o instanceof Object[]) {
message.setText(((Object[])o)[0].toString());
- } else {
+ } else if (o != null) {
message.setText(String.valueOf(o));
}
}
@@ -177,11 +179,7 @@
try {
ObjectMessage message = session.createObjectMessage();
- if (o instanceof InvocationTargetException) {
-
message.setObject(((InvocationTargetException)o).getTargetException());
- } else {
- message.setObject(o);
- }
+ message.setObject(o);
message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY,
true);
return message;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]