RFC 3902

The "application/soap+xml" media type

๐Ÿ“… published September 2004, from ietf

The "application/soap+xml" media type ๐Ÿ’Œ

Okay bestie, so this is RFC 3902 ๐ŸŽ€ It's written by M. Baker (Independent) and M. Nottingham (BEA Systems), dated September 2004. It's Category: Informational, so it's sharing info, not a formal standard ๐Ÿ™ˆ It doesn't obsolete or update anything, since no RFCs are listed in its header.

Status of This Memo ๐Ÿ“œ

This doc is here to share info with the Internet community ๐Ÿฆ‹ It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2004).

Abstract โœจ

This document defines the "application/soap+xml" media type, which can be used to describe SOAP 1.2 messages serialized as XML 1.0. It's giving serialization energy ๐Ÿ’…

1. Introduction ๐Ÿงš

Okay so SOAP version 1.2 (SOAP) is a lightweight protocol for swapping structured info between peers in a decentralized, distributed environment ๐ŸŒˆ It defines an extensible messaging framework with a message construct based on XML technologies, and that construct can be exchanged over a bunch of different underlying protocols. Iconic ๐Ÿ‘‘

This spec defines the media type "application/soap+xml", which identifies SOAP 1.2 message envelopes that have been serialized with XML 1.0. These serializations are useful as the basis of "wire formats" for SOAP 1.2 Protocol Binding Specifications [W3C.REC-soap12-part1-20030624], or anywhere else you need an XML serialization of a SOAP envelope ๐Ÿซถ

The "application/soap+xml" media type explicitly identifies SOAP 1.2 message envelopes serialized with XML 1.0. Message envelopes with a different SOAP namespace version, or using another XML serialization, MUST NOT use it. Not me doing the wrong thing ๐Ÿ’€

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. ๐Ÿ”ฅ

2. Registration ๐Ÿ“

Here's the registration template, bestie ๐Ÿ’–

  • MIME media type name: application
  • MIME subtype name: soap+xml
  • Required parameters: none
  • Optional parameters:
    • charset: This parameter has identical semantics to the charset parameter of the "application/xml" media type, as specified in RFC 3023 [RFC3023]. Same energy, different name ๐ŸŒธ
    • action: This optional parameter can be used to specify the URI that identifies the intent of the message. In SOAP 1.2 it does a similar job to the SOAPAction HTTP header field from SOAP 1.1. Its value identifies the intent of the message, lowkey the whole point ๐ŸŽฏ

The value of the action parameter is an absolute URI-reference as defined by RFC 2396 [RFC2396], and it MUST be non-empty. SOAP doesn't put any restrictions on how specific the URI is, or on whether it's resolvable. Also, the purpose of the action parameter is to show the intent of the SOAP message, but there's no mechanism for automatically computing its value from the SOAP envelope. So the value has to be determined out of band ๐Ÿ™ˆ It is recommended that the same value be used to identify sets of message types that are logically connected in some manner, for example part of the same "service". It is strongly RECOMMENDED that the URI be globally unique and stable over time. Main character URI energy โœจ

Using the action parameter is OPTIONAL. SOAP Receivers MAY use it as a hint to optimize processing, but they SHOULD NOT require its presence in order to operate. Chill, no pressure ๐Ÿซง

  • Encoding considerations: Identical to those of "application/xml" as described in RFC 3023 [RFC3023], section 3.2, as applied to the SOAP envelope infoset.
  • Security considerations: Okay, this one matters ๐Ÿ˜ญ SOAP can carry application-defined data whose semantics are independent of any MIME wrapper (or of the context the wrapper is used in). So you shouldn't expect to understand the semantics of the SOAP message just from the MIME wrapper alone. That's why, whenever you use the "application/soap+xml" media type, it is strongly RECOMMENDED that you fully understand the security implications of the context the SOAP message is used in. Those implications will likely involve both the specific SOAP binding to an underlying protocol and the application-defined semantics of the data in the SOAP message. Be careful with this, though, as discussed in SOAP 1.2 Part 1 [W3C.REC-soap12-part1-20030624], section Binding to Application-Specific Protocols ๐Ÿšจ

Also, check out SOAP 1.2 Part 1 [W3C.REC-soap12-part1-20030624], the entire section Security Considerations ๐Ÿ‘€

And since this media type uses the "+xml" convention, it shares the same security considerations as described in RFC 3023 [RFC3023], section 10.

The action parameter is not a security mechanism, and it SHOULD NOT be used for authentication. If you use the action parameter to make decisions (like dispatch or filtering), it is RECOMMENDED that you confirm the basis for those decisions by examining the SOAP Envelope. Don't just trust the label, bestie ๐Ÿซถ

  • Interoperability considerations: There are no known interoperability issues. Literally smooth sailing ๐Ÿฆ‹
  • Published specification: SOAP 1.2 Part 1 [W3C.REC-soap12-part1-20030624] and SOAP 1.2 Part 2 [W3C.REC-soap12-part2-20030624].
  • Applications which use this media type: Various SOAP 1.2 conformant toolkits use this media type. Obsessed ๐Ÿ’œ
  • Additional information:
    • File extension: SOAP messages are not required or expected to be stored as files.
    • Fragment identifiers: Identical to that of "application/xml" as described in RFC 3023 [RFC3023], section 5.
    • Base URI: As specified in RFC 3023 [RFC3023], section 6. Also see SOAP 1.2 Part 1 [W3C.REC-soap12-part1-20030624], section Use of URIs in SOAP.
    • Macintosh File Type code: TEXT
    • Person and email address to contact for further information: World Wide Web Consortium <web-human@w3.org>
    • Intended usage: COMMON
    • Author/Change controller: The SOAP 1.2 specification set is a work product of the World Wide Web Consortium's XML Protocol Working Group. The W3C has change control over these specifications. ๐Ÿ‘‘

3. Security Considerations ๐Ÿ”

See the "Security Considerations" section of the registration template found in Section 2. Go read it, it's the main event ๐Ÿ’…

4. Normative References ๐Ÿ“š

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2396]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
           Resource Identifiers (URI): Generic Syntax", RFC 2396,
           August 1998.

[RFC3023]  Murata, M., St.Laurent, S., and D. Kohn, "XML Media
           Types", RFC 3023, January 2001.

[W3C.REC-soap12-part1-20030624]
           Hadley, M., Mendelsohn, N., Moreau, J., Nielsen, H., and
           M.  Gudgin, "SOAP Version 1.2 Part 1: Messaging
           Framework", W3C REC REC-soap12-part1-20030624, June 2003.

[W3C.REC-soap12-part2-20030624]
           Moreau, J., Nielsen, H., Gudgin, M., Hadley, M., and N.
           Mendelsohn, "SOAP Version 1.2 Part 2: Adjuncts", W3C REC
           REC-soap12-part2-20030624, June 2003.

5. Authors' Addresses ๐Ÿ“ฎ

Mark A. Baker
Independent
37 Charles St.
Ottawa, Ontario  K1M 1R3
CA

EMail: distobj@acm.org


Mark Nottingham
BEA Systems
235 Montgomery St., Level 15
San Francisco, CA  94010
US

EMail: mnot@pobox.com

Copyright (C) The Internet Society (2004).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and at www.rfc-editor.org, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property ๐Ÿงพ

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any independent effort to identify any such rights. Information on the ISOC's procedures with respect to rights in ISOC Documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

Acknowledgement ๐Ÿ’–

Funding for the RFC Editor function is currently provided by the Internet Society.

๐Ÿ“ฆ where this page comes from