MTOM Boundary Markers

What is the string "--uuid:…" doing embedded in MTOM messages?

That string is a boundary marker that separates one part of the message from another. This scheme of separating message parts using a unique string is common to many types of multipart messages and is sometimes referred to as the MIME boundary. Since the string has to be unique, it is actually specified for the first time at a fixed place in the message so that the boundary marker can be different in each message. The location where the boundary string is specified in an MTOM message transmitted over HTTP is the HTTP Content-Type header. The boundary string is one of the parameters to the Content-Type header and is called boundary.

In WCF, the boundary string is generated internally as part of the HTTP transport when an MTOM message is sent. The boundary string starts with "uuid:", followed by a random guid, followed by "+id=", and followed by a number that increments each time the generator is used in the application domain. The "--" at the beginning or end of the boundary marker is part of the multipart format and not technically a part of the boundary string so you won't see it included in the Content-Type header.

Skip to main content