3.2.5.1.5.3 Marshaling Server Objects and Proxy Instances

A Data Value that is being serialized can contain a Server Object or a Proxy. These MUST be serialized as ObjRef instances.

In case of a Server Object, the Server Object MUST be marshaled as specified in the Marshal Server Object section if it is not already marshaled. An implementation MUST provide a valid Server Object URI but MAY use any algorithm to create it.<45>

 For a Data Value containing a Server Object or MSO Proxy instance, an ObjRef MUST be constructed as specified in the following table.

 Field

 Value

uri

Server Object URI of the Server Object

typeInfo

Names of the Server Type, its Base Classes, and interfaces as specified in the TypeInfo section

objRefFlags

0

fIsMarshalled

True

ChannelInfo

Must be initialized as specified in the ChannelInfo section with each instance of ChannelData containing a Channel URI for each initialized channel.

For a Data Value containing an SAO Proxy, an ObjRef MUST be constructed as specified in the following table.

 Field

 Value

uri

Request-URI for the Proxy

typeInfo

Names of the Server Type, its Base Classes, and interfaces as specified in the TypeInfo section

objRefFlags

2

fIsMarshalled

True

ChannelInfo

Null Object