We have Flex applications that connect to our ASP.NET 3.5 Web Applications and usually download lot of data. Now considering XML as transport, for every item, it transmits meta data twice for example.. instead of transferring int value as <Customer CustomerID=23/>
it transmits <Customer><CustomerID>23</CustomerID></Customer>
.. now here is where bandwidth conservation becomes an issue.
- FLEX Can not read GZip and DEFLATE compressed HTTP Response ( So cant use any of them )
- I heard of some
WSCompression
but it requires WSE 3.0 now I am skeptical to introduce too many dependency in my hosting environment which requires too much management and overheads. Is WSE 3.0 only dll library which requires no installation on production server? Does it require rewriting allWebService
attribute? Or is it simple one time configuration and more or less, anyone knows does it work with Flex ? - Flex dynamically generates web services, and we use lot of its auto generated code, now if we want to support compression then do we need to rewrite lot of code?
Simplest solution I can think of is, reduce unnecessary XML tags and reduce them down to attributes to save bandwidth. Is there an easy way to achieve it, our classes has more then 50-70 properties, I understand it will be nightmare to add attributes to each property but we dont know how to do it in case of SOAP.
Question:
What is WSE 3.0 anyway, does it need to be installed on production server? To enable WSCompression do we need additional code to be integrated in our web service code like with each WebMethod attribute, do we need to add more code in attributes?
Is there an easy way to tag properties with attributes and force serialization in simple form like [SoapAttribute], which transforms data as attribute instead of tag and does it work with FLEX or will it work with any client?
Does SOAP has standard format of only elements or it can support attributes?