I’m getting the same issue. Can you explain how you resolved it in detail?
Where you have added the EventBrokerService object?
Ive added the EventBrokerService and Registered the ConfService Object.
When retrieving DNs, i’m getting an exception stating FolderDBIds is null
Still, RetrieveMultipleObjects in not working.
I’m getting an exception stating the FolderDbid is null in the GlobalConfService.cs in COM AB. I’ve changed the code in that (marked as Red)
internal static void EndLoadObject(IAsyncResult asyncResult )
{
ConfAsyncResult result = asyncResult as ConfAsyncResult;
if (result == null) return;
List<IMessage> messageList = result.MessageList;
InternalCfgObjectData objData;
foreach (IMessage response in messageList)
{
EventObjectsRead realResponse = response as EventObjectsRead;
if (realResponse == null || realResponse.ConfObject == null)
{
continue;
}
objData = new InternalCfgObjectData();
objData.ObjectType = (ConfServerObjectType) realResponse.ObjectType;
objData.ConfigurationObject =
realResponse.ConfObject as XmlDocument;
Array foldersDbids = realResponse.FolderDbids;
int objectsCount = objData.ConfigurationObject.DocumentElement.ChildNodes.Count;
if (foldersDbids != null)
{
if (foldersDbids.GetLength(0) < objectsCount)
throw new InvalidOperationException("There are not enough folder dbids in the Read request result");
}
objData.ObjectPaths = realResponse.ObjectPath as string;
if (objData.ObjectPaths.Length < objectsCount)
throw new InvalidOperationException("There are not enough object paths in the Read request result");
objData.Parameters = new KeyValueCollection[objectsCount];
for (int i = 0; i < objectsCount; i++)
{
objData.Parameters[i] = new KeyValueCollection();
if (foldersDbids != null)
{
objData.Parameters[i].Add(MiscConstants.FolderDbidName, Convert.ToInt32(foldersDbids.GetValue(i)));
}
}
result.ConfigObjectList.Add(objData);
}
}
Now it is working fine, whether the code will break in the future?