The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Last modified: November 12, 2002
Direct Internet Message Encapsulation (DIME)

Note: Microsoft has listed DIME among "Superseded Specifications" in its Messaging Specifications Index Page. See Direct Internet Message Encapsulation (DIME) [June 17, 2002]: "This specification has been superseded by the SOAP Message Transmission Optimization Mechanism (MTOM) specification."

[December 03, 2001] Direct Internet Message Encapsulation (DIME) is a lightweight, binary message format that can be used to encapsulate one or more application-defined payloads of arbitrary type and size into a single message construct.

[November 30, 2001] "Direct Internet Message Encapsulation (DIME)." IETF INTERNET-DRAFT 'draft-nielsen-dime-00'. Edited by Henrik Frystyk Nielsen, Henry Sanders, and Erik Christensen (Microsoft). November 2001. Expires May 2002. "Direct Internet Message Encapsulation (DIME) is a lightweight, binary message format that can be used to encapsulate one or more application-defined payloads of arbitrary type and size into a single message construct. Each payload is described by a type, a length, and an optional identifier. Both URIs and MIME media type constructs are supported as type identifiers. The payload length is an integer indicating the number of octets of the payload. The optional payload identifier is a URI enabling cross-referencing between payloads. DIME payloads may include nested DIME messages or chains of linked chunks of unknown length at the time the data is generated. DIME is strictly a message format, provides no concept of a connection or of a logical circuit, and does not address head- of-line problems... The design goal of DIME is to provide an efficient and simple message format that can accommodate the following: (1) Encapsulating arbitrary documents and entities, including encrypted data, XML documents, XML fragments, image data like GIF and JPEG files, etc. (2) Encapsulating documents and entities initially of unknown size. This capability can be used to encapsulate dynamically generated content or very large entities as a series of chunks. (3) Aggregating multiple documents and entities that are logically associated in some manner into a single message. For example, DIME can be used to encapsulate a SOAP message and a set of attachments referenced from that SOAP message... URIs can be used for message types that are defined by URIs. Records that carry a payload with an XML-based message type may use the XML namespace identifier of the root element as the TYPE field value. A SOAP/1.1 message, for example, may be represented by the URI"


  • "Direct Internet Message Encapsulation (DIME)." IETF Internet-Draft. Reference: draft-nielsen-dime-02. June 17, 2002; expires December 2002. [cache]
  • "WS-Attachments." IETF Internet-Draft. Reference: draft-nielsen-dime-soap-01. June 17, 2002; expires December 2002. 16 pages (with 20 references). [cache]
  • Direct Internet Message Encapsulation (DIME). Reference: 'draft-nielsen-dime-01'. February, 2002.
  • IETF Draft 'draft-nielsen-dime-00'. November 2001.
  • DIME discussion list
  • DIME references from GotDotNet
  • "Microsoft Publishes XML Web Services Specifications."
  • See also: "Simple Object Access Protocol (SOAP)."
  • [November 12, 2002] "Sending Files, Attachments, and SOAP Messages Via Direct Internet Message Encapsulation." By Jeannine Hall Gailey. In MSDN Magazine Volume 17, Number 12 (December 2002). ['Direct Internet Message Encapsulation (DIME) is a new specification for sending and receiving SOAP messages along with additional attachments, like binary files, XML fragments, and even other SOAP messages, using standard transport protocols like HTTP. In this article, the author explains what DIME is and how it differs from MIME encapsulation. A detailed description of the message format and how it is parsed, as well as working with SOAP and extending it with WSDL, is also included.'] "... DIME allows you to send attachments of various types along with your SOAP message, even when the attachments in question do not fit conveniently or efficiently into an XML format. DIME is designed to be a fast and efficient protocol to parse. The length and type of attached data are defined in a few simple header fields. The protocol is kept lean and mean by the assumption that any additional message metadata will be included as part of a SOAP message, since SOAP is already such a rich metadata-based protocol. Although designed to work with SOAP, the use of DIME is not strictly limited to SOAP, and it may prove useful whenever a simple, efficient message encapsulation is required... DIME has the potential to become a very useful encapsulation method for attachments to SOAP messages by utilizing the rich metadata in SOAP against a simple, efficient encapsulation mechanism. In addition to its technical merits, DIME is receiving the full support of Microsoft going forward, as is indicated by its inclusion in the newest version of the Microsoft SOAP Toolkit. As with any early specification-based technology, you can expect some changes as the technology matures..."

  • [September 20, 2002] "Brother, Can You Spare a DIME? Direct Internet Message Encapsulation." By Rich Salz. From (September 18, 2002). ['"XML Endpoints" is Rich Salz's Web services column. This month Rich continues his look at how to send binary attachments with SOAP, covering the DIME protocol and the WS-Attachments specification.'] "Last month we talked about the reasons for associating attachments with SOAP messages, and we looked at the initial SOAP Messages with Attachments (SwA) note. This month we look at Direct Internet Message Encapsulation (DIME), a binary message format; and we'll also look briefly at the WS-Attachments specification, which provides a generic framework for SOAP attachments, and a definition for a DIME-based instantiation of that framework. Both specifications are being developed through the IETF and are available as internet drafts. Interestingly, they are not being developed through an official IETF Working Group but are being published as the work of individuals. Microsoft created DIME and was the original promoter for its adoption; the current DIME draft has IBM and Microsoft authors, as does the WS-Attachments document... If we read between the lines, we can conclude that DIME is a part of the global XML Architecture effort led by IBM and Microsoft.. Like SwA or MIME, DIME is a message format -- it is not a network protocol like HTTP. The biggest surprise to most XML developers will be that DIME is a binary format: fields have fixed size, as opposed to being terminated by a newline character, numbers often have fixed sizes, bytes are written in a specified order -- the common 'network byte order': most significant byte first -- and so on... A DIME message consists of a series of one or more records joined together to make a single application message. Records aren't numbered: their position is implied by their position in the data stream. Thus DIME requires a stream protocol like TCP and is unsuitable for UDP, a datagram protocol. Many multimedia protocols are 'lossy' and a datagram approach make sense. Multiple units of application data or payloads can be encapsulated in a single DIME message stream. Payloads that don't fit into a single DIME record packet can be divided into chunks and sent in pieces..."

  • [August 26, 2002]   Microsoft Announces Web Services Development Kit Technology Preview.    Microsoft has announced a technical preview for the Microsoft Web Services Development Kit (WSDK), which "provides the tools developers need to build advanced Web services applications using the latest Web services specifications, such as WS-Security, WS-Routing and WS-Attachments. The WSDK is a new Microsoft .NET class library for building Web services using the latest Web services protocols, including WS-Security, WS-Routing, DIME and WS-Attachments. The WSDK offers a low-level API that allows you to apply these protocols directly to individual SOAP messages being sent using HTTP. The library also integrates with the higher-level Microsoft ASP.NET Web service APIs (ASMX) included in the Microsoft .NET Framework. The design of the WSDK reflects the principles of the basic message-level protocols themselves, as outlined in the document 'Understanding GXA': Decentralization and federation; Modularity; XML-based data model; Transport neutrality; Application-domain neutrality... The WSDK incorporates Microsoft's recent work with industry customers and partners to develop Web services specifications beyond XML and SOAP, such as WS-Security, that address the core challenges of Web services in a way that is broadly interoperable across heterogeneous systems. The core features included in the technology preview of the Microsoft WSDK include (1) the ability to help secure XML Web services across platforms and trust domains, including digital signing and encryption of SOAP messages that are compliant with the WS-Security specification; (2) the ability to route an XML Web service through intermediaries using the WS-Routing specification; (3) communication between XML Web services can contain attachments that are not serialized into XML." [Full context]

  • [November 30, 2001] "Microsoft Tosses a DIME for Web Services." By Cathleen Moore. In InfoWorld (November 27, 2001). Working to hammer out the technical details of Web service interactions, Microsoft this month quietly submitted to the IETF (Internet Engineering Task Force) a message format protocol designed to simplify the transmission of video, graphics, and sound files in Web services. Building on the success of the MIME (Multipurpose Internet Mail Extensions) specification, which allows graphics, audio, and video files to be sent and received in e-mail, DIME (Direct Internet Message Encapsulation) sets out to streamline the MIME standard for use in Web services. DIME addresses the difficulties involved in embedding binary data, such as video, graphics, and sound, into XML documents and in putting an XML document in another XML document, according to Philip DesAutels, product manager for XML Web services at Microsoft. The Redmond, Wash.-based company submitted DIME as an IETF Internet Draft on November 14, 2001. Hewlett-Packard and Microsoft earlier this year submitted for standards consideration development work that described how to use MIME and SOAP (Simple Object Access Protocol) to combine binary data and multiple messages together. From this development work in using SOAP with attachments, Microsoft saw a need for a simpler format for combining multiple chunks of information into one message, DesAutels said... The end goal of DIME, DesAutels said, is to untangle complex Web service interactions, which could involve passing images and video feeds as part of a service." See the news item of June 06, 2001: "Microsoft Publishes XML Web Services Specifications."

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: