Hi All Some thought...
Currently message building and serializing is in transport layer. According to the content type ,message is being built and we cannot control the building process. For example , if the content type is corresponding to the SOAP , then SOAP message is built and we cannot avoid it. This is fine only if we use or access SOAP message. But if we can dispatch to synapse,proxyservices,etc without touching SOAP message and if we will not touch the SOAP message within synapse, then , we should not want a SOAP message. But , currently , we have not that control . If we can provide a option to transport to specify whether to build a message or not (build and set as SOAP envelope ) and also if can provide a way in synapse language to specify whether to build a message or not(Build mediator which builds message and sets as SOAP envelope – default behavior may use content-type, but we have to have options to override it.). One other possibility is , with in transport layer , the message always set as stream or OMDatasource (use BinaryBuilder ) irrespective of content type and whenever try to access message on the first time (messagecontext.getSOAPEnvelope()) and if SOAP envelope has not been built yet, then builds it and sets as Envelope. This will be completely avoid building message as a SOAP envelope , if we have not any interest in it. For serialization part , we can do the same thing. I don't know this is a good suggestion , but I believe , for scenarios, that we don't access SOPA message, we have to completely avoid building it. Thanks Indika
