PSI Auth: Username passed in is not valid is project database

Mar 2, 2010 at 4:00 PM

I am seeing a lot of errors for the EPM 2007 Timesheet Service.  What I think triggered the errors is 2 of use as administrators in Project had tried to update some user's timesheets and save them.  We're been seeing the following errors ever since.  It seems to still be trying to make the changes and keeps failing.  This has been going on for over a week.  Here's all the errors I am seeing:


Windows event Application log - these 4 events occur repeatedly.  They start every minute, repeat 20 times, then start again 1 minute later.

Event Type: Information
Event Source: EPM 2007 Timesheet Event
Event Category: None
Event ID: 8989
Date:  3/2/2010
Time:  9:38:02 AM
User:  N/A
Computer: MYPROJSERVER
Description:
siteGuid=39c6ab6b-e385-4f8c-8279-39e4b1599adf, tsGuid=bedbce08-408b-4d5f-8b2e-f327e4d3f7ee

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Event Type: Error
Event Source: Office SharePoint Server
Event Category: Project Server - General
Event ID: 7952
Date:  3/2/2010
Time:  9:38:02 AM
User:  N/A
Computer: MYPROJSERVER
Description:
PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Event Type: Error
Event Source: EPM 2007 Timesheet Event
Event Category: None
Event ID: 8989
Date:  3/2/2010
Time:  9:38:02 AM
User:  N/A
Computer: MYPROJSERVER
Description:
FAILED due to an Exception: The request failed with HTTP status 401: Unauthorized.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Event Type: Information
Event Source: EPM 2007 Timesheet Event
Event Category: None
Event ID: 8989
Date:  3/2/2010
Time:  9:38:02 AM
User:  N/A
Computer: MYPROJSERVER
Description:
Update status on row 465

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.


tsAutoStatusTimesheetEvent logs (in C:\program files\microsoft\timesheet auto approval service\logs).  The logs are filled with these "FAILED due to an exception" errors, except their are a couple different resources (users) that alternate.  The User Name in these errors are other project server users (not the administrators) in the organization.  I belive these users are the owners of the timesheets that the 2 administrators attempted to modify.

9:38:02 AM: STEP 1 - Initialize Web Service urls
9:38:02 AM: STEP 2 - Start event override for timesheet UID: fd0583f8-3055-463f-8c29-24c29029e940
9:38:02 AM: STEP 3 - Statusing Impersonation for RES_UID: 06737146-1164-411a-8577-ebb3b58cc07f
9:38:02 AM: FAILED due to an exception: The request failed with HTTP status 401: Unauthorized.
9:38:02 AM: SubmitStatus: True; timesheet URL: http://MYPROJSERVER/PWA/_vti_bin/psi/timesheet.asmx; statusing URL: http://MYPROJSERVER/SharedServices1/psi/statusing.asmx
9:38:02 AM: Timesheet: My Timesheet; Resource: User Name; Creator: User Name, Period: 910a5cdb-30f7-4c0b-a7ba-0639598c98c6
9:38:02 AM: Total execution time: -9.31 seconds; SubmitStatus: 0.00 seconds


These are the events logged in the ULS logs files (in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS).  These same events are logged contantly.

03/02/2010 09:38:02.46  w3wp.exe (0x0C50)                        0x0794 Project Server                 Project Server - General       7952 Critical PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database. 
03/02/2010 09:38:02.52  w3wp.exe (0x0C50)                        0x0794 Project Server                 Project Server - General       7952 Critical PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database. 
03/02/2010 09:38:02.22  w3wp.exe (0x0C50)                        0x08DC Project Server                 Project Server - General       7952 Critical PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database. 
03/02/2010 09:38:02.29  w3wp.exe (0x0C50)                        0x0794 Project Server                 Project Server - General       7952 Critical PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database. 
03/02/2010 09:38:02.38  w3wp.exe (0x0C50)                        0x08DC Project Server                 Project Server - General       7952 Critical PSI Auth: Username 'DOMAIN\AdminUserName' passed in is not valid is project database. 
03/02/2010 09:38:12.94  OWSTIMER.EXE (0x0848)                    0x0B94 Windows SharePoint Services    Topology                       0 Medium   Adding DOMAIN\sharepointservice to local group 2. 
03/02/2010 09:38:12.96  OWSTIMER.EXE (0x0848)                    0x0B94 Windows SharePoint Services    Topology                       0 Medium   Adding DOMAIN\sharepointservice to local group 0. 
03/02/2010 09:38:13.07  OWSTIMER.EXE (0x0848)                    0x0B94 Windows SharePoint Services    Topology                       0 Medium   Adding DOMAIN\sharepointservice to local group 2. 
03/02/2010 09:38:13.07  OWSTIMER.EXE (0x0848)                    0x0B94 Windows SharePoint Services    Topology                       0 Medium   Adding DOMAIN\sharepointservice to local group 0. 


Anyone have any idea what is causing this, or how to resolve it?  Thanks!

Mar 2, 2010 at 10:02 PM

A couple more things about this:

  • I found the exact errors I'm having in the EPM2007 Timesheet Tied Mode Documentation (you can download it here: http://epmtsst.codeplex.com/releases/view/8430 )
    The error is listed under secion 6.4 - Limits: Resources with no User Authentication Information
    The customization will fail for resources with no Authentication Information (for instance generic resources):
    [Screen shot of errors I am getting shown here]
    Impersonation will fail due to the absence of a Windows Account (HTTP status 401).
    • So, I found that, but I still don't know what to do to fix it or even to get the errors to stop!
  • The next thing I found is that the errors in the event log reference only 4 rows in the dbo.tsAutoStatus SQL table.  I looked at the SQL table and see that rows are like this:
414 39c6ab6b-e385-4f8c-8279-39e4b1599adf ad5f85a2-b087-4c91-b29b-6730ed142b55 1033 DOMAIN\UserName 2/26/2010 3:23:00 PM NULL 3/2/2010 3:06:00 PM

The username is the Project Administrators name...  I'm not sure why it's failing, as this is a valid username.

Can I delete these rows in order to stop the errors, or will that cause other problems?

Mar 2, 2010 at 10:13 PM

For the import to succeed, the username in the tsAutoStatus table must match the Timesheet owner. As you've seen, this can fail when an administrator edits the timesheet.

There are two possible solutions for this problem discussed here:

http://autostatusservice.codeplex.com/Thread/View.aspx?ThreadId=20567 (See the Nov 6, 2008, and Jan 8, 2009 posts.)

One involves changing a SQL stored procedure to fix the problem when rows are added to the tsAutostatus table, the other fixes existing rows.

The one to fix existing rows should help you:

UPDATE dbo.tsAutoStatus
SET userName = (SELECT mer.ResourceNTAccount
                FROM dbo.MSP_Timesheet ts
                INNER JOIN
                dbo.MSP_TimesheetResource tr
    ON tr.ResourceNameUID = ts.OwnerResourceNameUID
    INNER JOIN
    dbo.MSP_EpmResource mer
    ON tr.ResourceUID = mer.ResourceUID
    WHERE tsAutoStatus.tsGuid = ts.TimesheetUID)
WHERE dateprocessed IS NULL
 AND EXISTS (SELECT mer.ResourceNTAccount
                FROM dbo.MSP_Timesheet ts
                INNER JOIN
                dbo.MSP_TimesheetResource tr
    ON tr.ResourceNameUID = ts.OwnerResourceNameUID
    INNER JOIN
    dbo.MSP_EpmResource mer
    ON tr.ResourceUID = mer.ResourceUID
    WHERE tsAutoStatus.tsGuid = ts.TimesheetUID)

 

 

Hope this helps...
James Fraser

 

Mar 2, 2010 at 10:16 PM

I should have added: The service only processes rows from the tsautostatus table where dateProcessed is null, so you can set that to a non-null value and the row won't be processed in the future. (I clean these up by setting them to January 1, 1999.)

 

jf

Mar 2, 2010 at 10:46 PM

Thank you so much!  I changed the username on the rows that were affected to the timesheet owner and the errors stopped.

Thanks again!