ANNOTATING PORTIONS OF A MESSAGE WITH STATE PROPERTIES

Abstract
Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
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 method of efficiently processing a SOAP message by attaching properties to a message object representing processing state of headers for the message in order to allow other operations to utilize such information, the method comprising: receiving a SOAP message that includes a plurality of headers with content used to process the SOAP message;processing at least a portion of content for a first header from the plurality of headers; andbased on the processing, annotating a message object with a property representing the processing state for the content of the first header such that other operations can use the property for further processing of the SOAP message.
  • 2. The method of claim 1, wherein the property is marked to indicate that either it should or should not persist upon serialization of the SOAP message.
  • 3. The method of claim 1, wherein the property is not marked to indicate whether or not it should or should not persist upon serialization of the SOAP message, and wherein a default of not allowing the property to persist is invoked.
  • 4. A computer program 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 method of claim 1.
  • 5. In a distributed messaging system, a message object that includes properties representing processing state of headers for a SOAP message in order to allow other operations to utilize such information, the message object comprising: a plurality of headers with content used to process the SOAP message; andone or more properties representing the processing state for the content of the plurality of headers annotated thereto such that other operations can use the one or more properties for further processing of the SOAP message.
  • 6. The message object of claim 5, wherein the one or more properties are marked to indicate that they should or should not persist upon serialization of the SOAP message.
  • 7. The message object of claim 5, wherein the one or more properties are not marked to indicate whether or not they should or should not persist upon serialization of the SOAP message, and wherein a default of not allowing the one or more properties to persist is invoked.
  • 8. In a distributed messaging system, a method of efficiently processing a SOAP message by attaching properties to a message object representing processing state for the SOAP message in order to allow other operations to utilize such information, the method comprising: receiving a SOAP message;processing at least a portion of the SOAP message; andbased on the processing, annotating a message object with a property representing the processing state such that other operations can use the property for further processing of the SOAP message.
  • 9. The method of claim 8, wherein the SOAP message includes at least one header with content, and wherein the property represents processing state of the content for the at least one header.
  • 10. The method of claim 8, wherein the SOAP message includes at least one body portion with content, and wherein the property represents processing state of the content for the at least one body portion.
  • 11. The method of claim 8, wherein the property represents processing state related to environmental information about how a message was received off a communication connection.
  • 12. The method of claim 8, wherein the property is marked to indicate that either it should or should not persist upon serialization of the SOAP message.
  • 13. A computer program 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 method of claim 8.
  • 14. The method of claim 8, wherein the property is not marked to indicate whether or not it should or should not persist upon serialization of the SOAP message, and wherein a default of not allowing the property to persist is invoked.
Provisional Applications (2)
Number Date Country
60764127 Jan 2006 US
60764306 Feb 2006 US