I'm looking at DIME to enscapulate the binary portion of a web service return value. The key element is I need to xfer a chunk (about 2Meg) of data and I do like the model of Soap-RPC architecturally. Unfortunately, a webservice prototype to do this without DIME takes about 10 seconds each call. The data gets base64'ed or chunked into an array of a few hundred thousand int's. In comparison, a 'direct' method with the client connecting via a URLConnection and DataStream performs the same work in under 2 seconds. But with out the nieceties of the SOAP-RPC I've seen a DIME implementation in .Net which used SOAP Extensions and since I'm not clear on how Soap extensions work, I've got more questions now than ever.
What's the interaction of SOAP and Extensions?
Are there any examples of DIME for Java available?
Has anyone used DIME & Soap-RPC in a production environment? How did it work out?
Has anyone solved this sort of problem already, but in a different manner? How?
Thanks for the help. Sincerely, Lindsay Morsillo
Author and all-around good cowpoke
Joined: Mar 22, 2000
Yow - acronym overload - what is DIME? In SOAP or SOAP with attachments you can't get away from some form of encoding binary data so it is going to be slow. I would be tempted to have SOAP return information that could be used to retrieve the binary data rather than having SOAP include the data. That way you get the error reporting etc. capability of SOAP and the speed of a direct method. Bill
Axis supports both DIME and MIME encoding. Actually, MIME is probably your better bet for now -- not all SOAP engines support DIME yet. Take a look at the Axis documentation to learn about the MIME support in Axis. Kyle