Hello. We are trying to use the Project Server 2010 web services to create and modify timesheets. We are receiving error code 20010 GeneralSecurityAccessDenied message in the event log when trying to create timesheets via delegation. In general we can access the PSI web services without issue. We call the AdminClient and ResourceClient web services without issue and can successfully call the TimeSheetClient method ReadTimeSheetByPeriod. We only have an issue when called the CreateTimeSheet method. The event log shows the following information:
Log Name: Application
Source: MyApplication
Date: 5/24/2011 7:42:47 PM
Event ID: 1000
Task Category: (1)
Level: Error
Keywords: Classic
User: N/A
Computer: Server.Domain.local
Description:
Source: mscorlib
Message: Code: Client IsSenderFault: True IsReceiverFault: False
Reason: ProjectServerError(s) LastError=GeneralSecurityAccessDenied Instructions: Pass this into PSClientError constructor to access all error information
Stack Trace:
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at SvcTimeSheet.TimeSheet.CreateTimesheet(TimesheetDataSet dsDelta, PreloadType preloadType)
at TimeClockService.TimeSheets.CreateTimeSheet(Guid resid, String resourcename) in C:\TimeSheets.cs:line 224
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="MyApplication" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-05-24T23:42:47.000000000Z" />
<EventRecordID>44938</EventRecordID>
<Channel>Application</Channel>
<Computer>Server.Domain.local</Computer>
<Security />
</System>
<EventData>
<Data>Source: mscorlib
Message: Code: Client IsSenderFault: True IsReceiverFault: False
Reason: ProjectServerError(s) LastError=GeneralSecurityAccessDenied Instructions: Pass this into PSClientError constructor to access all error information
Stack Trace:
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at SvcTimeSheet.TimeSheet.CreateTimesheet(TimesheetDataSet dsDelta, PreloadType preloadType)
at TimeClockService.TimeSheets.CreateTimeSheet(Guid resid, String resourcename) in C:\TimeSheets.cs:line 224</Data>
</EventData>
</Event>
We have referenced the Project Server SDK documentation for the CreateTimeSheet method. We have tried multiple, high-permission users and we have tried modifying the impersonation level both for the ChannelFactory and ClientCredential classes. We have created delegates for the users whose timesheets we are trying to create via the web service. We have turned on tracing but do not get any additional information beyond what is in the Event Log. We would be happy to supply a copy of the trace log.
It appears we are missing a required permission for the CreateTimeSheet method, however, neither the event log information, the trace log information, or the Project Server SDK provide us with enough detail to know what permission we are missing. Any assistance in identifying the missing permission would be appreciated.
Thank you,
David Lloyd
Lemington Consulting
David Lloyd Lemington Consulting http://LemingtonIT.com