synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Fremantle" <pzf...@gmail.com>
Subject Re: Supporting content types in Synapse and Axiom
Date Fri, 27 Jul 2007 10:13:57 GMT
One more thought. A number of systems use a java Map message as a core
data type. Especially a Map<String,Object> where Object is actually a
simple type object such as Float, Double, String, Boolean

In particular JMS supports these. I think it would be valuable to
define this as a core Synapse datatype. For example, it would be cool
to be able to mediate between a JMS Map message and another JMS Map
message, and have a well-defined schema for what the Axiom
representation would look like in Synapse.

Paul

On 7/26/07, Paul Fremantle <pzfreo@gmail.com> wrote:
> Hi
>
> As Synapse is getting more interest I see a number of people looking
> to use it and extend it for binary and text content types as well as
> XML.
>
> We already support those from some transports (e.g. JMS) but each
> transport defines its own way of handling these things, and so I can't
> be sure that a message coming in as binary/jms can go out correctly as
> binary/http post.
>
> So here is what I'd like to do:
>
> I'd like to have explicit methods:
>
> OMElement get/setPayload()
> DataHandler get/setBytesPayload()
> String get/setTextPayload()
> boolean isBinary();
> boolean isText();
> int getPayloadType()
>
> In order to make this work, we should have two well defined QNames -
> one for binary and one for text.
>
> For example binary payload will be in a wrapper element called:
> <a:binary xmlns:a="http://ws.apache.org/commons/axiom/ns/data">
>
> And text payload could be in
> <a:text  xmlns:a="http://ws.apache.org/commons/axiom/ns/data">
>
> So if I setBinaryPayload, basically what happens (under the covers is)
>
> OMElement el = fac.createOMElement("binary", axNS);
> OMText bin = fac.createOMText(dh, true);
> el.addChild(bin);
> getBody().setFirstChild(el);
>
> Now I'd be very happy to do this just in Synapse, but it makes much
> more sense to do it in Axiom. That would mean everyone using this
> (axis2 transports, synapse mediators, etc) would inherit the same
> definitions and use the data in a consistent way. Which is the point
> of this.
>
> Paul
>
>
> --
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>


-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org


Mime
View raw message