1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
|
Network Working Group D. Crocker
Request for Comments: 1767 Brandenburg Consulting
Category: Standards Track March 1995
MIME Encapsulation of EDI Objects
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Table of Contents
1. Introduction........................................... 1
2. Application/EDIFACT specification...................... 2
3. Application/EDI-X12 specification...................... 3
4. Application/EDI-Consent specification.................. 4
5. Sample edi usage in MIME-based email................... 5
6. References............................................. 5
7. Security Considerations................................ 6
8. Acknowledgments........................................ 6
9. Author's Address....................................... 6
10. Appendix - MIME for EDI users......................... 7
1. Introduction
Electronic Data Interchange (EDI) provides a means of conducting
structured transactions between trading partners. The delivery
mechanism for these types of transactions in a paper world has been
the postal system, so it is to be expected that electronic mail would
serve as a natural delivery mechanism for electronic transactions.
This specification permits formatted electronic business interchanges
to be encapsulated within MIME messages [Bore92]. For the
specification effort, the basic building block from EDI is an
interchange.
This specification pertains only to the encapsulation of EDI objects
within the MIME environment. It intends no changes in those objects
from the primary specifications that define the syntax and semantics
of them. EDI transactions take place through a variety of carriage
and exchange mechanisms. This specification adds to that repertoire,
by permitting convenient carriage through Internet email.
Crocker [Page 1]
^L
RFC 1767 EDI in MIME March 1995
Since there are many different EDI specifications, the current
document defines three distinct categories as three different MIME
content-types. One is Application/EDI-X12, indicating that the
contents conform to the range of specifications developed through the
X12 standards organization [X125, X126, X12V]. Another is
Application/EDIFACT, indicating that the contents conform to the
range of specifications developed by the United Nations Working Party
4 Group of Experts 1 EDIFACT boards [FACT, FACV]. The last category
covers all other specifications; it is Application/EDI-consent.
2. APPLICATION/EDIFACT SPECIFICATION
The Application/EDIFACT MIME body-part contains data as specified for
electronic data interchange by [FACT, FACV].
Within EDIFACT, information is specified by:
MIME type name: Application
MIME subtype name: EDIFACT
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: The EDIFACT specifications are
accepted standards for a class of
inter-organization transactions;
this permits their transmission
over the Internet, via email.
Contact-info: See Contact section, below.
Detail specific to MIME-based usage:
This is a generic mechanism for sending any EDIFACT
interchange. The object is self-defining, in terms of
indicating which specific EDI objects are included. Most
EDI data is textual, but special characters such as some
delimiters may be non-printable ASCII or some data may be
Crocker [Page 2]
^L
RFC 1767 EDI in MIME March 1995
pure binary. For EDI objects containing such data, the MIME
transfer mechanism may need to encode the object in Content-
Transfer-Encoding:quoted-printable or base64.
3. APPLICATION/EDI-X12 SPECIFICATION
The Application/EDI-X12 MIME body-part contains data as specified for
electronic data interchange by [X125, X12.6, EDIV].
Within MIME, EDI-X12 information is specified by:
MIME type name: Application
MIME subtype name: EDI-X12
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: The ASC X12 EDI specifications are
accepted standards for a class of
inter-organization transactions;
this permits their transmission
over the Internet, via email.
Contact-info: See Contact section, below.
Detail specific to MIME-based usage:
This is a generic mechanism for sending any ASC X12
interchange. The object is self-defining, in terms of
indicating which specific EDI objects are included. Most
EDI data is textual, but special characters such as some
delimiters may be non-printable ASCII or some data may be
pure binary. For EDI objects containing such data, the MIME
transfer mechanism may need to encode the object in Content-
Transfer-Encoding:quoted-printable or base64.
Crocker [Page 3]
^L
RFC 1767 EDI in MIME March 1995
4. APPLICATION/EDI-CONSENT SPECIFICATION
The Application/EDI-consent MIME body-part contains data as specified
for electronic data interchange with the consent of explicit,
bilateral trading partner agreement exchanging the EDI-consent
traffic. As such, use of EDI-consent only provides a standard
mechanism for "wrapping" the EDI objects but does not specify any of
the details about those objects.
Within MIME, EDI-consent information is specified by:
MIME type name: Application
MIME subtype name: EDI-consent
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: Existing practice for exchanging
EDI includes a very wide range of
specifications which are not part
of the usual, accredited standards
world. Nevertheless, this traffic
is substantial and well-
established. This content type
provides a means of delimiting such
content in a standard fashion.
Contact-info: See Contact section, below.
Detail specific to MIME-based usage:
This is a generic mechanism for sending any EDI object
explicitly agreed to by the trading partners. X12 and
EDIFACT object must be sent using their assigned MIME
content type. EDI-consent is for all other EDI objects, but
only according to trading partner agreements between the
originator and the recipient. Most EDI data is textual,
but special characters such as some delimiters may be non-
Crocker [Page 4]
^L
RFC 1767 EDI in MIME March 1995
printable ASCII or some data may be pure binary. For EDI
objects containing such data, the MIME transfer mechanism
may need to encode the object in Content-Transfer-
Encoding:quoted-printable or base64.
5. SAMPLE EDI USAGE IN MIME-BASED EMAIL
Actual use of EDI within MIME-based mechanisms requires attention to
considerable detail. This section is intended as an example of the
gist of the formatting required to encapsulate EDI objects within
Internet mail, using MIME. To send a single EDIFACT interchange:
To: <<recipient organization EDI email address>>
Subject:
From: <<sending organization EDI email address>>
Date:
Mime-Version: 1.0
Content-Type: Application/EDIFACT
Content-Transfer-Encoding: QUOTED-PRINTABLE
<<standard EDIFACT Interchange goes here>>
6. REFERENCES
[Bore92] Borenstein, N., and N. Freed, "MIME (Multipurpose
Internet Mail Extensions) Part One: Mechanisms for
Specifying and Describing the Format of Internet Message
Bodies", RFC 1521, Bellcore, Innosoft, September 1993.
[Brad89] Braden, R., Editor, "Requirements for Internet Hosts -
Application and Support", STD 3, RFC 1123, Internet
Engineering Task Force, October 1989.
[Croc82] Crocker, D., "Standard for the Format of Internet
Text Messages", STD 11, RFC 822, UDEL, August 1982.
[Rose93] Rose, M., "The Internet Message: Closing the Book
with Electronic Mail", PTR Prentice Hall, Englewood
Cliffs, N.J., 1993.
[Post82] Postel, J., "Simple Mail Transfer Protocol".
STD 10, RFC 821, USC/Information Sciences Institute,
August 1982.
[X12V] Data Interchange Standards Association; sets of
specific EDI standards are ordered by their version
number; Washington D.C.
Crocker [Page 5]
^L
RFC 1767 EDI in MIME March 1995
[X125] ANSI X12.5 Interchange Control Structure for
Electronic Data Interchange, Washington D.C.: DISA
[X126] ANSI X12.6 Applications Control Structures for
Electronic Data Interchange, Washington D.C.: DISA
[FACT] United Nations Economic Commission (UN/EC)
Electronic Data Interchange For Administration,
Commerce and Transport (EDIFACT) - Application Level
Syntax Rules (ISO 9735), 1991.
[FACV] Version sets contains the specific syntax documents,
the element and segment dictionaries, and the
transaction/message specifications.
7. SECURITY CONSIDERATIONS
EDI transactions typically include sensitive data, so that
transmission often needs to attend to authentication, data integrity,
privacy, access control and non-repudiation concerns. This
specification permits transmission of such sensitive data via
Internet mail and other services which support MIME object
encapsulation. For transmission of sensitive data, it is essential
that appropriate security services, such as authentication, privacy
and/or non-repudiation be provided.
This specification does NOT, itself, provide any security-related
mechanisms. As needed and appropriate, such mechanisms MUST be
added, either via Internet MIME-based security services or any other
services which are appropriate to the user requirements, such as
those provided by EDI-based standards.
8. ACKNOWLEDGMENTS
Tom Jones offered introductory text and descriptions of candidate
header options. Numerous working group participants provided review
and comment, especially Walt Houser, Gail Jackson, and Jim Amster.
9. AUTHOR'S ADDRESS
David H. Crocker
Brandenburg Consulting
675 Spruce Dr.
Sunnyvale, CA 94086 USA
Phone: +1 408 246 8253
Fax: +1 408 249 6205
EMail: dcrocker@mordor.stanford.edu
Crocker [Page 6]
^L
RFC 1767 EDI in MIME March 1995
10. APPENDIX - MIME FOR EDI USERS
To assist those familiar with EDI but not with Internet electronic
mail, this Appendix is provided as a very brief introduction,
primarily to give pointers to the relevant specifications. This
section is in no way intended to be a thorough introduction. An
excellent introductory text is [Rose93].
Internet electronic mail follows the classic user agent/mail transfer
agent model. In this model, user software produces a standardized
object which is transferred via standard exchange protocols.
An Internet electronic mail object comprises a collection of headers,
followed by a (possibly structured) body. The headers specify such
information as author and recipient addresses, subject summary,
creation date, handling node names, and so on, and are defined by
RFC822 and RFC1123 [Croc82, Brad89]. If the body is structured, it
conforms to the rules of the Multipurpose Internet Message Exchange
(MIME) [Bore92]. A structured body may have parts encoded in
different text character sets, or even of entirely different types of
data, such as voice or graphics.
The Simple Mail Transfer Protocol (SMTP) [Post82, Brad89] performs
the primary task of message transmission. User posting and delivery
interactions, between the user agent and the message transfer agent,
on the same machine, are not standardized and are platform-specific.
An EDI-related use of Internet Mime email will have (at least) the
following components:
Business Program/Data base -> EDI Translator ->
-> MIME encapsulation -> RFC822 packaging -> mail
submission ->
-> SMTP relaying ->
-> mail delivery -> RFC822 & Mime stripping ->
-> EDI Translator -> Business processing
The first and last lines show components normal to all EDI activities,
so that it is only the EDI "transmission" components that are replaced
with Internet modules.
Crocker [Page 7]
^L
|