3.1.6.11.5.3 SiteGateIdentifierList

The value of rDirectoryObject.SiteGateIdentifierList MUST be computed from the value of mSMQSiteGates according to the following algorithm:

  1. Let TempList be a list of distinguished names, initialized to the value of rDirectoryObject.mSMQSiteGates.

  2. Let FinalList be a list of GUIDs, initialized to be empty.

  3. For each distinguished name in TempList:

    1. Generate a Read Directory (section 3.1.6.3) event with the following arguments:

      • iDirectoryObjectType := "QueueManager"

      • iFilter := An array of the following attribute-filter expressions ([MS-MQDMPR] section 3.1.7.1.20):

        • "FullPath" EQUALS the current distinguished name from TempList

      • iAttributeList := An array of the following QueueManager ADM element attribute names:

        • Identifier

    2. If the rStatus returned by the Read Directory event is not set to DirectoryOperationResult.Success:

      • rStatus must be set to DirectoryOperationResult.GenericError, rDirectoryObject is undefined, and processing MUST end.

    3. The GUID in the Identifier ADM attribute of the rDirectoryObject returned by the Read Directory event MUST be placed in FinalList.

  4. The value of the rDirectoryObject.SiteGateIdentifierList attribute is the value of FinalList.