Fix for CONNECTORS-772.
git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/integration/sharepoint-2010/trunk@1521507 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 9eabfe6..dceed99 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,10 @@
======================= 0.3-dev =====================
+CONNECTORS-772: SharePoint on AWS does not permit using the
+URL to locate the site.
+(Dmitry Goldenberg, Karl Wright)
+
CONNECTORS-754: Remove dependency on Permissions.asmx.
(Will Parkinson, Karl Wright)
diff --git a/webservice/MCPermissions.cs b/webservice/MCPermissions.cs
index db8ee59..6ae3cb3 100644
--- a/webservice/MCPermissions.cs
+++ b/webservice/MCPermissions.cs
@@ -93,56 +93,53 @@
uint startRowParam = Convert.ToUInt32(startRow);
uint rowLimitParam = Convert.ToUInt32(rowLimit);
- using (SPSite site = new SPSite(SPContext.Current.Web.Url))
+ using (SPWeb oWebsiteRoot = SPContext.Current.Web)
{
- using (SPWeb oWebsiteRoot = site.OpenWeb())
+ if (oWebsiteRoot != null)
{
- if (oWebsiteRoot != null)
+
+ oWebsiteRoot.Lists.IncludeRootFolder = true;
+ SPList oList = oWebsiteRoot.Lists[new Guid(listName)];
+
+ SPQuery listQuery = new SPQuery();
+ listQuery.Query = "<OrderBy Override=\"TRUE\"><FieldRef Name=\"FileRef\" /></OrderBy>";
+ listQuery.QueryThrottleMode = SPQueryThrottleOption.Override;
+ listQuery.ViewAttributes = "Scope=\"Recursive\"";
+ listQuery.ViewFields = "<FieldRef Name='FileRef' />";
+ listQuery.RowLimit = 1000;
+
+ XmlDocument doc = new XmlDocument();
+ retVal = doc.CreateElement("GetListItems",
+ "http://schemas.microsoft.com/sharepoint/soap/directory/");
+ XmlNode getListItemsNode = doc.CreateElement("GetListItemsResponse");
+
+ uint counter = 0;
+ do
{
+ if (counter >= startRowParam + rowLimitParam)
+ break;
- oWebsiteRoot.Lists.IncludeRootFolder = true;
- SPList oList = oWebsiteRoot.Lists[new Guid(listName)];
+ SPListItemCollection collListItems = oList.GetItems(listQuery);
- SPQuery listQuery = new SPQuery();
- listQuery.Query = "<OrderBy Override=\"TRUE\"><FieldRef Name=\"FileRef\" /></OrderBy>";
- listQuery.QueryThrottleMode = SPQueryThrottleOption.Override;
- listQuery.ViewAttributes = "Scope=\"Recursive\"";
- listQuery.ViewFields = "<FieldRef Name='FileRef' />";
- listQuery.RowLimit = 1000;
- XmlDocument doc = new XmlDocument();
- retVal = doc.CreateElement("GetListItems",
- "http://schemas.microsoft.com/sharepoint/soap/directory/");
- XmlNode getListItemsNode = doc.CreateElement("GetListItemsResponse");
-
- uint counter = 0;
- do
+ foreach (SPListItem oListItem in collListItems)
{
- if (counter >= startRowParam + rowLimitParam)
- break;
-
- SPListItemCollection collListItems = oList.GetItems(listQuery);
-
-
- foreach (SPListItem oListItem in collListItems)
+ if (counter >= startRowParam && counter < startRowParam + rowLimitParam)
{
- if (counter >= startRowParam && counter < startRowParam + rowLimitParam)
- {
- XmlNode resultNode = doc.CreateElement("GetListItemsResult");
- XmlAttribute idAttribute = doc.CreateAttribute("FileRef");
- idAttribute.Value = oListItem.Url;
- resultNode.Attributes.Append(idAttribute);
- getListItemsNode.AppendChild(resultNode);
- }
- counter++;
+ XmlNode resultNode = doc.CreateElement("GetListItemsResult");
+ XmlAttribute idAttribute = doc.CreateAttribute("FileRef");
+ idAttribute.Value = oListItem.Url;
+ resultNode.Attributes.Append(idAttribute);
+ getListItemsNode.AppendChild(resultNode);
}
+ counter++;
+ }
- listQuery.ListItemCollectionPosition = collListItems.ListItemCollectionPosition;
+ listQuery.ListItemCollectionPosition = collListItems.ListItemCollectionPosition;
- } while (listQuery.ListItemCollectionPosition != null);
+ } while (listQuery.ListItemCollectionPosition != null);
- retVal.AppendChild(getListItemsNode);
- }
+ retVal.AppendChild(getListItemsNode);
}
}