[ 
https://issues.apache.org/jira/browse/WSCOMMONS-525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842545#action_12842545
 ] 

indika priyantha kumara commented on WSCOMMONS-525:
---------------------------------------------------

Andreas, thanks for feedback .... 

I thought to provide two interfaces 

...........................
ObjectDataSourceDecoder - to convert the ObjectDataSource into an OMElement  
(to be used within Object Message Builder)  - wraps as DataHandler , 
JAXBDataSource  , or any other 

public OMElement decode(ObjectDataSource dataSource, MessageContext 
messageContext);
..........................
...........................
ObjectDataSourceEncoder - to  find the object data source (to be used within 
Object Message Formatter) - extract object from JAXBDataSource, or any other 

public ObjectDataSource encode(MessageContext messageContext);
.......................

I believe use of ObjectMessageBuilder / ObjectMessageFormatter is correct as it 
preserve the conceptual integrity.  For this, we can use 
'application/java-serialized-object' and configure through content-type rules.

please Let me know your suggestions ...

Thanks 
Indika 


> Supporting JMS Object Messages
> ------------------------------
>
>                 Key: WSCOMMONS-525
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-525
>             Project: WS-Commons
>          Issue Type: Improvement
>          Components: Transport
>    Affects Versions: Transports 1.0
>            Reporter: indika priyantha kumara
>             Fix For: Transports 1.1
>
>         Attachments: jms-object-msg.patch
>
>
> I have attached herewith a patch to support Object Messages. What I did is as 
> follows
> 1)   Add a content type rule as follows
>               <parameter name="transport.jms.ContentType"> 
>                       <rules> 
>                        
> <objectMessage>application/java-serialized-object</objectMessage> 
>                         </rules> 
>                 </parameter> 
> Even there is no content type for Java object messages, I have to specify one 
> due to fact the JMS message receiver validates the content type. Furthermore, 
> if there is content type, we can specify message builder / formatters.
> 2)      When an Object message is received, it is wrapped with an 
> ObjectDataSource and processed by the ObjectMessageBuilder. Within the 
> ObjectMessageBuilder , if the content type is 
> ''application/java-serialized-object" , It just wraps the ObjectDataSource 
> using a DataHandler. The actual object can be accessed directly through the 
> ObjectDataSource.  This is useful for Apache Synapse as a mediator can access 
> the object directly and do whatever it needs. If the content type is 
> something other than ''application/java-serialized-object", selects the 
> correct builder for the content type and build the java object with it by 
> giving object as an XML stream. I here used XML Encoder... I will change it 
> later.
> 3)      When sending Object Messages, within the JMS transport, the object 
> can be directly accessed from the ObjectDataSource.  For other transport, if 
> it is useful, ObjectMessageFormatter can be used.At later, I can improve 
> ObjectDataSource to rerun the representation of Object based on the content 
> type.  E.g. XML, byte, etc... representations
> Any feedback is welcome. I will improve as per any suggestions and update the 
> patch
> Thanks Indika 

-- 
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