Skip to main content

XrmToolBox: AutoNumberUpdater - new StateCode filter

SharePoint 2010: Taxonomy field and System.UnauthorizedAccessException

These days I had a problem with provisioning a list instance of a custom list definition which uses a taxonomy field. This feature is part of a custom site definition also.

Interestingly I was able to use my site defintion to create a new site collection. All custom lists that had my taxonomy field on it did not make any trouble in this instance.

But when I tried to create a sub web site with the same site definition the provisiong stopped with the following error:

10/27/2011 16:55:51.24 w3wp.exe (0x21D0) 0x197C SharePoint Foundation Feature Infrastructure 889w High The element of type 'ListInstance' for feature My.SiteDefinitions.Project.SGD_ProjectLists' (id: b7cbc5b3-decd-48ff-aa23-29fb7a0223f7) threw an exception during activation: Exception has been thrown by the target of an invocation. 0c0e2c1b-db4f-4619-911f-116a086ba2c1


10/27/2011 16:55:51.24 w3wp.exe (0x21D0) 0x197C SharePoint Foundation General 72by High Feature Activation: Threw an exception, attempting to roll back. Feature 'My.SiteDefinitions.Project.SGD_ProjectLists' (ID: 'b7cbc5b3-decd-48ff-aa23-29fb7a0223f7'). Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.UnauthorizedAccessException: 0x80070005 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& pbs... 0c0e2c1b-db4f-4619-911f-116a086ba2c1

10/27/2011 16:55:51.24* w3wp.exe (0x21D0) 0x197C SharePoint Foundation General 72by High ...trAlternateHeaderUrl, 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_LanguageCulture() at Microsoft.SharePoint.SPWeb.get_Title() at Microsoft.SharePoint.SPSite.OpenWeb(Guid gWebId, Int32 mondoHint) at Microsoft.SharePoint.SPFieldLookup.set_LookupWebId(Guid value) at Microsoft.SharePoint.Taxonomy.TaxonomyField.<>c__DisplayClassa.b__8() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.b__... 0c0e2c1b-db4f-4619-911f-116a086ba2c1

10/27/2011 16:55:51.24* w3wp.exe (0x21D0) 0x197C SharePoint Foundation General 72by High ...2() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at Microsoft.SharePoint.Taxonomy.TaxonomyField.Initialize(SPFieldCollection fields) at Microsoft.SharePoint.Taxonomy.TaxonomyField..ctor(SPFieldCollection fields, String fieldName) --- End of inner exception stack trace --- at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionListInstances(SPFeaturePropertyCollection props, SPSite site, SPWeb web, Boolean fForce) at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionElements(SP... 0c0e2c1b-db4f-4619-911f-116a086ba2c1
 
Solution:
After some time I figured out that the application pool account that is used for my new site collection (whole web application) is different from the app pool account of the managed metadata service and central app.
After I had changed the app pool account of the site collection to the same of the managed metadata service/ central app. everything started to work as expected.

Comments

  1. In my case user didn't have access to the hidden list "TaxonomyHiddenList". It's available under "Lists/TaxonomyHiddenList" url.
    Granting user with "Read" permission to this list did the trick. This list has (at least in my case) broken permissions, so even granting someone full control to site collection didn't help.

    ReplyDelete

Post a Comment

Popular posts from this blog

Yet Another Address Autocomplete PCF Control–powered by Bing

In this blog post I will not go into detail in how to install all the pre-requisites that are required to build and run PCF controls. My goal was to build a new PCF control and get into coding of PCF controls as fast as possible. Here are a few links to articles that will help you installing the pre-requisites (Microsoft PowerApps CLI)  https://docs.microsoft.com/en-us/powerapps/developer/component-framework/get-powerapps-cli Other good references to get into this topic: https://toddbaginski.com/blog/how-to-create-a-powerapps-pcf-control/ https://docs.microsoft.com/en-us/powerapps/developer/component-framework/create-custom-controls-using-pcf I looked through the Guido Preite’s https://pcf.gallery/ which will help you find appropriate use cases / examples for your own needs. It did not take very long to find a simple example to start with: Andrew Butenko's https://pcf.gallery/address-autocomplete/ A few moments later I had the idea to create yet another address autocomplete...

Regarding SPFieldMultiLineText (Add HTML/URL content to a field) programmatically

I recently tried so set some HTML content in a SharePoint list column of type SPFieldMultiLineText. My first approach was this piece of code: SPFieldMultiLineText field = item.Fields.GetFieldByInternalName( "Associated Documents" ) as SPFieldMultiLineText; StringBuilder docList = new StringBuilder(); docList.Append( " " ); foreach (DataRow docRow in addDocs) { DataRow[] parent = dr.Table.DataSet.Tables[0].Select( "DOK_ID=" + docRow[ "DOK_MGD_ID" ].ToString()); if (parent != null && parent.Length > 0) { docList.AppendFormat( " {1} " , parent[0][ "FilePath" ].ToString(), parent[0][ "Title" ].ToString()); } } if (docList.Length > 0) { // remove trailing tag docList.Remove(docList.Length-5, 5); } docList.Append( " " ); string newValue = docList.ToString(); item[field.Title] = newValue; What this code does is to get all associated documents to the main document and to add these docu...

XrmToolBox: AutoNumberUpdater - new StateCode filter

Mayank Pujara's AutoNumberUpdater plugin for the XrmToolBox is a great tool to add missing auto number values to an auto number field for an entity/table. In his blog you can find more details about the original version of his plugin: https://mayankp.wordpress.com/2021/12/09/xrmtoolbox-autonumberupdater-new-tool/ For my purposes I had to update accounts with missing account numbers, but in my use case this should only be done for those accounts that have the status value "Active".   As this plugin did not have this feature I quickly implemented it and Mayank merged my changes to his plugin source code. You can download the new version 1.2024.0.1 in the Tool Library of the XrmToolBox.