Ошибка при программном создании семейства веб-сайтов

У меня есть консольное приложение, которое будет использоваться для анализа входного файла и создания коллекций сайтов на основе ввода. Он запускается на WFE в ферме под учетной записью администратора фермы. При попытке добавить семейство веб-сайтов в веб-приложение с допустимым пользователем исключение 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)

person Preston Guillot    schedule 26.01.2010    source источник
comment
У меня только что произошла эта ошибка, и она заработала, когда я переключил URL-адрес с https на http.   -  person Taterhead    schedule 08.03.2013


Ответы (2)


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

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

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

person Jacobs Data Solutions    schedule 26.01.2010
comment
Не повезло; есть некоторые признаки того, что это проблема в бета-версии 2, которая исправлена ​​​​в RC, но у нас еще нет среды, подходящей для RC =\. - person Preston Guillot; 28.01.2010

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

person jjr2527    schedule 13.05.2011