[ 
https://issues.apache.org/jira/browse/TUSCANY-2967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12710793#action_12710793
 ] 

Simon Laws commented on TUSCANY-2967:
-------------------------------------

I was looking through this today so some thoughts lest I forget. 

I've been looking at this today and have checked in (r776381) enhancements to 
itest/jmsformat to test checked and unchecked exceptions for the various 
formats. 

Our current code (excluding the jmsBytes change I committed at r775324) treats 
exceptions in the following way

checked/non-xml      - object message
checked/xml              - xml in text or bytes message
unchecked/non-xml - object message
unchecked/xml        - object message

IIUC the objective of this JIRA is to make life easier for the non-Tuscany 
runtime while maintaining the functionality of the Tuscany runtime. We 
therefore have to consider three cases

Tuscany -> Tuscany
Tuscany -> non-Tuscany
non-Tuscany -> Tuscany

The proposal here is along the lines of...

checked/non-xml   - ex.toString()
checked/xml       - xml
unchecked/non-xml - ex.toString()
unchecked/xml     - xml (invent some wrapper XML to hold ex.toString())

This would certainly make exception messages human readable but there is some 
devil in the detail of how we map a protocol like this to interface 
descriptions so that he Tuscany and non-Tuscany user isn't surprised. The next 
step is to add some non-Tuscany exception cases to itests and assess what the 
implications are. 


> For binding.jms, consider a more natural exception handling strategy for 
> non-XML, non-Object wireFormats
> --------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2967
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2967
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Java SCA JMS Binding Extension
>            Reporter: Scott Kurz
>            Assignee: ant elder
>
> For the wF.jmsBytes, wF.jmsText cases, (when we're not dealing w/ JAX-WS 
> exceptions/faults mapping to XML), it seems odd that we would give you back a 
> TextMessage/BytesMessage  for a normal response but an ObjectMessage for an 
> exception (granted this was partly my idea).  
> Should we instead do something like a toString() and convert an exception to 
> a String we could place in either a BytesMessage or TextMessage?    True, I 
> think fidelity would suffer here and the app on the other end might not be 
> able to reconstitute an exception instance matching the one thrown by the SCA 
> service impl before it was turned into a toString by the SCA binding.jms.    
> But I wonder if this is too unexpected.... if I'm expecting to receive a 
> response TextMessage and get a ClassCastException because I get an 
> ObjectMessage, that might seem really strange.  
> Maybe this needs more discussion.    I also admit I have no idea what other 
> frameworks involving a map between RPC-ish invocations and JMS apps do with 
> exceptions.    

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to