Я пытаюсь использовать веб-службу ShareGroup.asmx Sharepoint для заполнения раскрывающегося списка в InfoPath 2007 (форма, совместимая с 2003). Я следовал приведенным здесь инструкциям: http://tim.bellette.net/2008/12/13/getting-sharepoint-users-in-infopath-2003. Я поместил следующий код в событие OnLoad для формы, и если я установил точку останова, я увидел, что DOM GetUserCollectionFromGroupXML содержит правильные данные, но раскрывающийся список остается пустым. Что я не получаю здесь?
XmlDocument userCollectionFromGroup = new XmlDocument();
userCollectionFromGroup.LoadXml(thisXDocument.DataObjects["GetUserCollectionFromGroup"].DOM.xml);
XPathNavigator siteUsers = userCollectionFromGroup.CreateNavigator();
XmlNamespaceManager manager = new XmlNamespaceManager(siteUsers.NameTable);
manager.AddNamespace("dfs", "http://schemas.microsoft.com/office/infopath/2003/dataFormSolution");
manager.AddNamespace("tns", "http://schemas.microsoft.com/sharepoint/soap/directory/");
// Query the user nodes
XPathNavigator allUsers = siteUsers.SelectSingleNode("/dfs:myFields/dfs:dataFields/tns:GetUserCollectionFromGroupResponse/tns:GetUserCollectionFromGroupResult/tns:GetUserCollectionFromGroup/tns:Users", manager);
// Load the users into the SiteUsersAndGroups connection
thisXDocument.DataObjects["GetUserCollectionFromGroupXML"].DOM.loadXML("<GetUserCollectionFromGroup>" + allUsers.OuterXml + "</GetUserCollectionFromGroup>");