Tuesday, July 29, 2008

SharePoint: Errors 6482, 6398

The Event Log on our MOSS 2007 server was filled with alternating error codes 6482 and 6398.

Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (dc8cedfd-9340-42bb-adee-57e75040cdf6).

Reason: Retrieving the COM class factory for component with CLSID {3D42CCB1-4665-4620-92A3-478F47389230} failed due to the following error: 80070005.

The Execute method of job definition Microsoft.Office.Server.Search.Administration.IndexingScheduleJobDefinition (ID 66aead00-c73c-4e06-a1ce-ac86070bb9da) threw an exception. More information is included below.

Retrieving the COM class factory for component with CLSID {3D42CCB1-4665-4620-92A3-478F47389230} failed due to the following error: 80070005.


After a little bit of Google researching, I found that the service account used by the "Windows SharePoint Services Search" service did not have appropriate rights to launch, activate, and access the DCOM component oSearch.

Give the service account Local Launch and Local Activation permissions in the "Launch and Activation permissions" portion of the oSearch DCOM component properties dialog. Also, give the service account Local Access permissions in the "Access Permissions" portion of the properties. Save the changes and restart the "Windows SharePoint Services Search" service and you should be good to go.

Thanks to the folks at Tahoe Solutions for posting this on their blog: http://tahoesolutions.blogspot.com/2008/01/event-6482-and-6398-errors-in-event.html.

Thursday, July 24, 2008

Accessing subsites' lists via the MOSS 2007 Lists.asmx web service

I spent a little bit of time trying to figure this one out. I'm playing with the exposed web services that MOSS 2007 provides, trying to figure out how to manipulate lists via this API. My web reference is set to http://company.com/Clients/_vti_bin/Lists.asmx, but I am getting the same response as if the web reference were set to the site root (i.e. http://company.com/_vti_bin/Lists.asmx).

Thanks to user in.the.dark on MSDN forums (http://forums.msdn.microsoft.com/en-US/sharepointdevelopment/thread/80be9abc-f9e0-49b6-8ebc-8f90ddbf27a2/), a workaround is to set the URL programmatically, like so:

using (com.company.Lists lists = new com.company.Lists())
lists.Url = "http://company.com/Clients/_vti_bin/Lists.asmx";
XmlNode listColl = lists.GetListCollection();

listColl now contains the subsite's lists, rather than the root site's lists.