What is the deal with MTOM. From what I can see (in the example), you still
need to populate the whole byte[] in memory, then do something with that
byte[]. For ~small files, this may be ok. But for large files, you need to
chunk the reads and writes to and from a stream (e.g. 4K chunks, etc)
Without this, I don't see great value in MTOM. Am I just missing something
basic here? Even the Steaming example method appears to populate the whole
byte[] in memory first, then does a single write to create the file. Does
Indigo change this to allow chunking reads and writes to a stream when using
MTOM? TIA
This is just an implementation issue to me. Practical value of MTOM/XOP, in
the least, is that it reduces size of messages by transferring some data in
binary form instead of base64-encoded.
Ales Pour
> What is the deal with MTOM. From what I can see (in the example), you
> still need to populate the whole byte[] in memory, then do something with
[quoted text clipped - 5 lines]
> create the file. Does Indigo change this to allow chunking reads and
> writes to a stream when using MTOM? TIA
William Stacey [MVP] - 16 Sep 2005 10:10 GMT
Thanks. So the inplementation does not allow stream chunking per your
understanding?

Signature
William Stacey [MVP]
> This is just an implementation issue to me. Practical value of MTOM/XOP,
> in the least, is that it reduces size of messages by transferring some
[quoted text clipped - 11 lines]
>> create the file. Does Indigo change this to allow chunking reads and
>> writes to a stream when using MTOM? TIA
Ales Pour - 16 Sep 2005 11:43 GMT
There's an example included with WSE3 distribution that shows both
non-streamed and streamed file transfer, where the streaming is done by the
application itself.
I'm not sure whether the implementation could have support for transparent
streaming (eg. WDSL compiler could map xsd:base64 to a Stream, and then the
streaming could be handled by the implementation itself during the
serialization of a message to a XOP package), and unfortunately I do not
know if it is anyhow possible with WSE3...
Regards,
-AP
> Thanks. So the inplementation does not allow stream chunking per your
> understanding?
[quoted text clipped - 14 lines]
>>> write to create the file. Does Indigo change this to allow chunking
>>> reads and writes to a stream when using MTOM? TIA
William Stacey [MVP] - 16 Sep 2005 16:28 GMT
Thanks. I saw that, but it does not appear to stream at all, but reads the
whole byte[] first then writes the single byte[] to disk. Maybe the example
just needs to be expanded to use a while loop or something. Thanks Ales.

Signature
William Stacey [MVP]
> There's an example included with WSE3 distribution that shows both
> non-streamed and streamed file transfer, where the streaming is done by
[quoted text clipped - 27 lines]
>>>> a single write to create the file. Does Indigo change this to allow
>>>> chunking reads and writes to a stream when using MTOM? TIA
Reynolds - 30 Sep 2005 01:33 GMT
The specification also highlights the use of attachments, via MIME. It
sounds like the WSE 3.0 stuff may be a partional solution.
> Thanks. I saw that, but it does not appear to stream at all, but reads the
> whole byte[] first then writes the single byte[] to disk. Maybe the example
[quoted text clipped - 31 lines]
> >>>> a single write to create the file. Does Indigo change this to allow
> >>>> chunking reads and writes to a stream when using MTOM? TIA
Antonio Dias - 31 Oct 2005 11:30 GMT
> This is just an implementation issue to me. Practical value of MTOM/XOP, in
> the least, is that it reduces size of messages by transferring some data in
[quoted text clipped - 11 lines]
>> create the file. Does Indigo change this to allow chunking reads and
>> writes to a stream when using MTOM? TIA
one advantage is that the binary data is "inside" the message so if you
add encryption and signature the binary data is included. that does not
happen with dime attachments.
William Stacey [MVP] - 31 Oct 2005 15:47 GMT
IIRC, the mtom byte[] is outside the msg using a ref (althougth it could
also be inside the message if the byte[] is small as base64). It would
still be possible to encrypt and sign the mtom stream as separate entity.

Signature
William Stacey [MVP]
>> This is just an implementation issue to me. Practical value of MTOM/XOP,
>> in the least, is that it reduces size of messages by transferring some
[quoted text clipped - 15 lines]
> add encryption and signature the binary data is included. that does not
> happen with dime attachments.