Contains the data that is to be passed by the middleware from the client to the service, or vice versa. A Message object will use an OutputStream and an InputStream to serialize and deserialize its data, respectively.

C# |
public abstract class Message

All Members | Constructors | Methods | |||
Icon | Member | Description |
---|---|---|
![]() | Message()()()() | Initializes a new instance of the Message class |
![]() | OnDeserialize(InputStream) | Invoked when this Message object needs to be deserialized. |
![]() | OnSerialize(OutputStream) | Invoked when this Message object needs to be serialized. |

The Message class should be extended by the application developer. The developer must implement the OnSerialize and OnDeserialize methods to ensure proper serialization and deserialization.
IMPORTANT NOTE:
The following Message APIs:
- Session.SendTaskInput(Platform.Symphony.Soam.Message)
- TaskContext.SetTaskOutput(Platform.Symphony.Soam.Message)
must be used for applications where the client and service are written in different languages, e.g. .NET client with C++/Java service.
These same Message APIs can also be used for .NET-to-.NET applications. However, the SOAM API also provides a means to pass Serializable objects between a .NET client and a .NET service:
- Session.SendTaskInput([Serializable] Object)
- TaskContext.SetTaskOutput([Serializable] Object)
NOTE: If any of the methods of this class are called after the Main(...) method exits, the client or service process may behave in an undefined manner (for example, hang or terminate abnormally).
