Dasarath Weeratunge wrote:

--- Aleksander Slominski <[EMAIL PROTECTED]> wrote:
hi,



as i was asked to send it during irc chat but before
Attachments Technologies (Canyang Kevin Liu and
Sanjay Patil)



https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/Evolution%20of%20Web%20Services%20Attachments%20Technologies.article

nice reference, thanks.



about identification: i thin that relying on
transport to have type="application/xop+xml" in transport packaging
should be enough (for HTTP it is: Content-Type:
Multipart/Related;boundary=MIME_boundary; type="application/xop+xml";)



So everyone is in agreement that transport should identify whether the incoming message is an optimized message or not, and use the appropriate OM builder to construct the object model.



if XOP is detected then XOP Infoset is first created
then it is later (at least in logical sense) resolved to "Original"
Infoset - in infoset view there is no difference between BASE64 that is
just text and one backed by binary attachments so there is need for OM
API to identify



In the present MTOM prototype, optimized binary content is presented to the user *as is*(OMBlob). However non-optimized binary is presented as text - i.e. it does not differentiate between non optimized bin content (base64 stuff) and normal text... it cannot... why, there is no way to find out which one is which.

Further when programatically creating OM, if it is
allowed to specify through OMBlob whether the content
should be optimized or not, then it can give rise to
two different OM trees... all the OMBlobs that were
not optimized will be replaced by OMText at the
receiver. So one ans would be to use OMBlob for
optimized content ONLY. To send non-optimized content
use OMText. OMText impl will be modified to have a
constructor which accepts a data handler and another
"getDataHandler" method.



(OMBlob?) and deal with very large attachments
(stream in/out of files like in AXIS1 and/or make it extensible)



One question is where to put the data handler once it
has been obtained from the underlying data stream?
Should it be stored in a field so that it can be
returned on subsequent calls to getDataHandler or
store to a temporary file.


IMHO temporary file is fine solution if data form socket stream needs to be read and flushed somewhere and AFAIK it is exactly what is done n AXIS1

alek

--
The best way to predict the future is to invent it - Alan Kay



Reply via email to