Ошибка создания семейства сайтов программно - PullRequest
1 голос
/ 26 января 2010

У меня есть консольное приложение, которое будет использоваться для анализа входного файла и создания семейств сайтов на основе входных данных. Он запускается на ферме в ферме под учетной записью администратора фермы. При попытке добавить семейство сайтов в веб-приложение с допустимым пользователем, ArgumentException выбрасывается в стек с сообщением об ошибке «0x80070057». Я проверил, что если используется неверный аккаунт, выдается правильное исключение SPException, указывающее, что пользователь не найден, и что все остальные параметры верны.

Код:

    internal static void CreateOrgSite(String path)
    {
        SPWebApplication webApp = SPWebApplication.Lookup(new Uri(ConfigurationManager.AppSettings["WebAppBaseUrl"]));

        String user = Environment.UserDomainName + "\\" + Environment.UserName;
        String newSiteUrl = GetCompleteUrl(path);
        webApp.Sites.Add(newSiteUrl, user, String.Empty);

    }

Трассировка стека:

System.ArgumentException: <nativehr>0x80070057</nativehr><nativestack></nativestack>
    at Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWebInternal(String bstrUrl, Guid& pguidID, String& pbstrRequestAccessEmail, UInt32& pwebVersion, String& pbstrServerRelativeUrl, UInt32& pnLanguage, UInt32& pnLocale, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl, String& pbstrThemedCssFolderUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl, String& pbstrSiteLogoDescription, Object& pvarUser, Boolean& pvarIsAuditor, Int32& plSiteFlags, Boolean& pbOverwriteMUICultures, Boolean& pbMUIEnabled, String& pbstrAlternateMUICultures, Int32& puiVersion, Int16& pnClientTag)
    at Microsoft.SharePoint.Library.SPRequest.OpenWebInternal(String bstrUrl, Guid& pguidID, String& pbstrRequestAccessEmail, UInt32& pwebVersion, String& pbstrServerRelativeUrl, UInt32& pnLanguage, UInt32& pnLocale, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl, String& pbstrThemedCssFolderUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl, String& pbstrSiteLogoDescription, Object& pvarUser, Boolean& pvarIsAuditor, Int32& plSiteFlags, Boolean& pbOverwriteMUICultures, Boolean& pbMUIEnabled, String& pbstrAlternateMUICultures, Int32& puiVersion, Int16& pnClientTag)
    at Microsoft.SharePoint.SPWeb.InitWebPublic()
    at Microsoft.SharePoint.SPWeb.get_ServerRelativeUrl()
    at Microsoft.SharePoint.SPWeb.get_Url()
    at Microsoft.SharePoint.SPUser.InitMember()
    at Microsoft.SharePoint.SPUser..ctor(SPWeb web, SPSecurableObject scope, String strIdentifier, Object[,] arrUsersData, UInt32 index, Int32 iByParamId, String strByParamSID, String strByParamEmail, SPUserCollectionType userCollectionType, Boolean isSiteAuditor)
    at Microsoft.SharePoint.SPUser..ctor(SPWeb web, SPSecurableObject scope, String strIdentifier, Object[,] arrUsersData, UInt32 index, Int32 iByParamId, String strByParamSID, String strByParamEmail, SPUserCollectionType userCollectionType)
    at Microsoft.SharePoint.SPUserCollection.GetByLoginNoThrow(String loginName)
    at Microsoft.SharePoint.SPUserCollection.get_Item(String loginName)
    at Microsoft.SharePoint.Administration.SPSiteCollection.Add(SPContentDatabase database, SPSiteSubscription siteSubscription, String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail, String quotaTemplate, String sscRootWebUrl, Boolean useHostHeaderAsSiteName)
    at Microsoft.SharePoint.Administration.SPSiteCollection.Add(SPSiteSubscription siteSubscription, String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail, Boolean useHostHeaderAsSiteName)
    at Microsoft.SharePoint.Administration.SPSiteCollection.Add(String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail, Boolean useHostHeaderAsSiteName)
    at Microsoft.SharePoint.Administration.SPSiteCollection.Add(String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail)
    at Microsoft.SharePoint.Administration.SPSiteCollection.Add(String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail)
    SharePoint\SharePointDataAccess.cs(25,0): at ImportOrgsUsers.SharePoint.SharePointDataAccess.CreateOrgSite(String path)

Ответы [ 2 ]

0 голосов
/ 13 мая 2011

Я знаю, что этот вопрос древний, но я думаю, что ваша проблема, возможно, заключалась в том, что вы не смогли активно подключиться к домену. Это поведение, с которым я сталкиваюсь, когда работаю удаленно, используя доменные учетные записи, но не подключенный к VPN. При попытке создать сайт SharePoint необходимо подключиться к домену, чтобы получить информацию о владельце сайта, которого вы указываете.

0 голосов
/ 27 января 2010

Я просмотрел всю сеть и не нашел ничего определенного. Согласно вашей трассировке стека, ошибка явно генерируется одним из этих раздражающих встроенных COM-объектов. Лучший ответ, который я могу вам дать, это то, что 0x80070057 говорит по-COM для «Общая ошибка» или «Неверный параметр» или что-то в этом роде. Мой совет:

  • введите действительный адрес электронной почты вместо String.Empty
  • формат newSiteUrl как они делают здесь (например, "sites / mynewsite")

Если это не сработает, тогда я желаю вам удачи в поиске ответа: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...