|
Paul I may be wrong, however, I haven't seen many people actually using JMS Map messages.. The Axis2 JMS transport thus supports bytes and text messages. So I would think this is a cool feature, but only few many find it actually useful... asankha Paul Fremantle wrote: --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]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, BooleanIn 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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com |
- Supporting content types in Synapse and Axiom Paul Fremantle
- Re: Supporting content types in Synapse and Axiom Paul Fremantle
- Re: Supporting content types in Synapse and Axi... Asankha C. Perera
- Re: Supporting content types in Synapse and... Paul Fremantle
- Re: Supporting content types in Synapse and Axiom Deepal jayasinghe
- Re: Supporting content types in Synapse and Axi... Paul Fremantle
