Archive for the Uncategorized Category

Server Error - Cannot complete this action.

So I’ve been experiencing a strange problem with my Sharepoint installation.  User authentication fails on the site when running any version of Internet Explorer but works fine in Firefox, Safari, Chrome, etc.  Isn’t it ironic?  Don’t you think?  Well, I’ve been messing around with lots of different settings and I’m getting closer to the solution, which I believe has to do with Kerberos authentication failing on the server, and so reverting to NTLM auth, which apparently is no good.

Back to the point of the post: while messing around with my IIS settings, I changed something which gave me a strange error.  I wasn’t sure what I did yet, but the ASP error page came up (you have to configure Sharepoint to show detailed error messages instead of the friendly error page), with the message simply being “Cannot complete this action.  Please try again.”  The stack trace is below:

Stack Trace:

[COMException (0x80004005): Cannot complete this action.  Please try again.]    Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileAndMetaInfo(String bstrUrl, Byte bPageView, Byte bPageMode, Byte bGetBuildDependencySet, String bstrCurrentFolderUrl, Boolean& pbCanCustomizePages, Boolean& pbCanPersonalizeWebParts, Boolean& pbCanAddDeleteWebParts, Boolean& pbGhostedDocument, Boolean& pbDefaultToPersonal, String& pbstrSiteRoot, Guid& pgSiteId, UInt32& pdwVersion, String& pbstrTimeLastModified, String& pbstrContent, Byte& pVerGhostedSetupPath, UInt32& pdwPartCount, Object& pvarMetaData, Object& pvarMultipleMeetingDoclibRootFolders, String& pbstrRedirectUrl, Boolean& pbObjectIsList, Guid& pgListId, UInt32& pdwItemId, Int64& pllListFlags, Boolean& pbAccessDenied, Guid& pgDocId, Byte& piLevel, UInt64& ppermMask, Object& pvarBuildDependencySet, UInt32& pdwNumBuildDependencies, Object& pvarBuildDependencies, String& pbstrFolderUrl, String& pbstrContentTypeOrder) +0    Microsoft.SharePoint.Library.SPRequest.GetFileAndMetaInfo(String bstrUrl, Byte bPageView, Byte bPageMode, Byte bGetBuildDependencySet, String bstrCurrentFolderUrl, Boolean& pbCanCustomizePages, Boolean& pbCanPersonalizeWebParts, Boolean& pbCanAddDeleteWebParts, Boolean& pbGhostedDocument, Boolean& pbDefaultToPersonal, String& pbstrSiteRoot, Guid& pgSiteId, UInt32& pdwVersion, String& pbstrTimeLastModified, String& pbstrContent, Byte& pVerGhostedSetupPath, UInt32& pdwPartCount, Object& pvarMetaData, Object& pvarMultipleMeetingDoclibRootFolders, String& pbstrRedirectUrl, Boolean& pbObjectIsList, Guid& pgListId, UInt32& pdwItemId, Int64& pllListFlags, Boolean& pbAccessDenied, Guid& pgDocId, Byte& piLevel, UInt64& ppermMask, Object& pvarBuildDependencySet, UInt32& pdwNumBuildDependencies, Object& pvarBuildDependencies, String& pbstrFolderUrl, String& pbstrContentTypeOrder) +625  [SPException: Cannot complete this action.  Please try again.]    Microsoft.SharePoint.Library.SPRequest.GetFileAndMetaInfo(String bstrUrl, Byte bPageView, Byte bPageMode, Byte bGetBuildDependencySet, String bstrCurrentFolderUrl, Boolean& pbCanCustomizePages, Boolean& pbCanPersonalizeWebParts, Boolean& pbCanAddDeleteWebParts, Boolean& pbGhostedDocument, Boolean& pbDefaultToPersonal, String& pbstrSiteRoot, Guid& pgSiteId, UInt32& pdwVersion, String& pbstrTimeLastModified, String& pbstrContent, Byte& pVerGhostedSetupPath, UInt32& pdwPartCount, Object& pvarMetaData, Object& pvarMultipleMeetingDoclibRootFolders, String& pbstrRedirectUrl, Boolean& pbObjectIsList, Guid& pgListId, UInt32& pdwItemId, Int64& pllListFlags, Boolean& pbAccessDenied, Guid& pgDocId, Byte& piLevel, UInt64& ppermMask, Object& pvarBuildDependencySet, UInt32& pdwNumBuildDependencies, Object& pvarBuildDependencies, String& pbstrFolderUrl, String& pbstrContentTypeOrder) +748    Microsoft.SharePoint.SPWeb.GetWebPartPageContent(Uri pageUrl, PageView requestedView, HttpContext context, Boolean forRender, Boolean includeHidden, Boolean mainFileRequest, Boolean fetchDependencyInformation, Boolean& ghostedPage, Byte& verGhostedPage, String& siteRoot, Guid& siteId, Int64& bytes, Guid& docId, UInt32& docVersion, String& timeLastModified, Byte& level, Object& buildDependencySetData, UInt32& dependencyCount, Object& buildDependencies, SPWebPartCollectionInitialState& initialState, Object& oMultipleMeetingDoclibRootFolders, String& redirectUrl, Boolean& ObjectIsList, Guid& listId) +2578    Microsoft.SharePoint.ApplicationRuntime.SPRequestModuleData.FetchWebPartPageInformationForInit(HttpContext context, SPWeb spweb, Boolean mainFileRequest, String path, Boolean impersonate, Boolean& fGhostedPage, Byte& verGhostedPage, Guid& docId, UInt32& docVersion, String& timeLastModified, SPFileLevel& spLevel, String& masterPageUrl, String& customMasterPageUrl, String& webUrl, String& siteUrl, Guid& siteId, Object& buildDependencySetData, SPWebPartCollectionInitialState& initialState, String& siteRoot, String& redirectUrl, Object& oMultipleMeetingDoclibRootFolders, Boolean& objectIsList, Guid& listId, Int64& bytes) +2081    Microsoft.SharePoint.ApplicationRuntime.SPRequestModuleData.GetFileForRequest(HttpContext context, SPWeb web, Boolean exclusion, String virtualPath) +727    Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.InitContextWeb(HttpContext context, SPWeb web) +164    Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context) +665    Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(HttpContext context) +41    Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostResolveRequestCacheHandler(Object oSender, EventArgs ea) +595    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

The solution?  Turn on ASP.NET impersonation.  Not sure exactly yet why, but I will post when I find out.  To turn it on, open up IIS 7, click on the site’s name in the tree view, then click on the Authentication button.  Click on ASP.NET  Impersonation.  On the right sidebar, click on Enable.  Now restart IIS (click on the server name in tree view, then on the right sidebar, restart).  This did the trick for me.

Aloha.

[Listening to Muse]  Okay, well, I’ve been fighting it for a long time because I’ve never felt that I had that much interesting stuff to say to the world, but here it finally is.  My first blog.  (Clap, clap, clap).  Thank you, you’re too kind.  Why?  Well, I just realized that so much crazy shit goes on in my life all the time, and I kill so many brain cells that I probably won’t be able to remember it all when I get old and need some way to be able to recall the stories that I pass on to my grandchildren.  Hopefully these interwebs (and the human race) will still be around when that time comes.  Actually, the thing that really pushed me over the edge was that I’m currently nuggets deep in creating and configuring a new Sharepoint installation for my company and am doing it with no prior knowledge, no training, and no real starting point, so a whole category of this blog will be dedicated to the aches and pains (do you get it now?) of figuring it out as I go along.  So, this is my first post, on my first blog.  If you enjoy it, cool.  If not, send a random person an email and tell them so.Hanohano Novice '09

|