MESSAGE OBJECT MODEL

Abstract
Embodiments described herein provide for an overall object mode that allows for a single message object to represent multiple messaging formats. A general message object is populated with fields for multiple available messaging formats, which can be appropriately filled with information with fields for both versions 1.1 and 1.2. Depending on which version is being used or desired, the appropriate fields can be populated when creating an instance of the message object. The other fields that do not correspond to that version, however, are left blank.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1 illustrates a distributed system configured to utilize an open-ended object model in accordance with example embodiments.



FIG. 2A illustrates the use of a message contract to create a general message object in accordance with example embodiments;



FIG. 2B illustrates using a message formatter for communication with a service operation in accordance with example embodiments.



FIG. 3 illustrates a flow diagram for a method of using a single message object to create message instances of multiple messaging formats in accordance with example embodiments;



FIGS. 4A and 4B illustrate flow diagrams for methods of simultaneously exposing a message infoset as both an XML view and a Type view in accordance with example embodiments;



FIG. 5 illustrates a flow diagram for a method of indexing headers for a SOAP message as an array in accordance with example embodiments;



FIGS. 6A and 6B illustrate flow diagrams for methods of efficiently processing a SOAP message by attaching thereto properties representing processing state for portions of the message in accordance with example embodiments.



FIG. 7 illustrates a flow diagram for a method of formatting a layout of a message object using a message contract in accordance with example embodiments;



FIG. 8 illustrates a flow diagram for a method of creating an instance of a message object by using a message contract in accordance with example embodiments.



FIG. 9 illustrates a flow diagram for a method of automatically creating a NPDL contract in accordance with example embodiments; and



FIG. 10 illustrates a flow diagram for a method of determining a type of encoding to use for a SOAP message in accordance with example embodiments.


Claims
  • 1. In a distributed messaging system, a single message class that represents multiple messaging formats comprising: an envelope that encapsulates contents for a message;a first set of fields within the envelope configured to include data for elements that correspond to a first message format; anda second set of fields within the envelope configured to include data for elements that correspond to a second message format, wherein either the first set of fields or the second set of fields can be populated with data to create a message object specific to either the first or second message format, respectively.
  • 2. The single message class of claim 1, wherein one or more of the first set of fields have overlapping properties with the second set of fields.
  • 3. The single message class of claim 1, wherein the single message object model is a SOAP object model, and wherein the first and second sets of fields correspond to a version 1.1 and 1.2 of the SOAP format, respectively.
  • 4. The single message class of claim 1, wherein one or more of the first or second set of fields are included within a header portion, a body portion, or both of the envelope.
  • 5. The single message class of claim 1, wherein one or more of the first or second set of fields are not included within either header or body portions of the envelope.
  • 6. In a distributed messaging system, a method of using a single message class to create a message object for multiple messaging formats, the method comprising: receiving a request to create a message object that is specific to a first message format;accessing a message class that includes an envelope, the envelope including a first set of fields configured to include data for elements that correspond to a first message format and a second set of fields configured to include data for elements that correspond to a second message format; andpopulating the first set of fields with data for making a message object specific to the first format, wherein one or more fields from the second set of fields are not populated.
  • 7. The method of claim 6, wherein one or more of the first set of fields have overlapping properties with the second set of fields such that at least one of the fields populated with data corresponds to a field from the second set of fields.
  • 8. The method of claim 6, wherein all of the first set of fields are included within the second set of fields.
  • 9. The method of claim 6, wherein the message object is a SOAP object, and wherein the first and second sets of fields correspond to a version 1.1 and 1.2 of the SOAP format, respectively.
  • 10. The method of claim 6, wherein one or more of the first or second set of fields are included within a header portion of the envelope.
  • 11. In a distributed messaging system, a computer program product for implementing a method of using a single message class to create a message object for multiple messaging formats, the computer program product comprising one or more computer readable media having stored thereon computer executable instructions that, when executed by a processor, can cause the distributed messaging system to perform the following: receive a request to create a message object that is specific to a first message format.access a message class that includes an envelope, the envelope including a first set of fields configured to include data for elements that correspond to a first message format and a second set of fields configured to include data for elements that correspond to a second message format; andpopulate the first set of fields with data for making a message object specific to the first format, wherein one or more fields from the second set of fields are not populated.
  • 12. The computer program product of claim 11, wherein one or more of the first set of fields have overlapping properties with the second set of fields such that at least one of the fields populated with data corresponds to a field from the second set of fields.
  • 13. The computer program product of claim 11, wherein all of the first set of fields are included within the second set of fields.
  • 14. The computer program product of claim 11, wherein the message object is a SOAP object, and wherein the first and second sets of fields correspond to a version 1.1 and 1.2 of the SOAP format, respectively.
  • 15. The computer program product of claim 11, wherein one or more of the first or second set of fields are included within a header portion of the envelope.
Provisional Applications (2)
Number Date Country
60764127 Jan 2006 US
60764306 Feb 2006 US