Skip to main content
Planview Customer Success Center

Error when trying to update a project via API

SYMPTOMS:
Error when trying to update a project using a SOAP envelope, via WebServices API using the ApiProject.Update() method:

ERROR in API Log:
6:54:30 PM Level1: Source: Changepoint.ChangepointAPI2.ApiProject.Update
6:54:30 PM Level5: Warning: Please check COM API logs for more details.
6:54:41 PM Level2: Error: Number= -1 Message= Operation failed (system error).
6:54:41 PM Level2: StackTrace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Changepoint.BusinessServices.Project.ProjectEntity.UpdateProjectEntities(DbTransaction tx, String EntityType)
at Changepoint.BusinessServices.Project.ProjectEntity.DataPortal_Update()
at lambda_method(Closure , Object , Object[] )
at Csla.Reflection.MethodCaller.CallMethod(Object obj, DynamicMethodHandle methodHandle, Object[] parameters)
at Csla.Reflection.MethodCaller.CallMethod(Object obj, DynamicMethodHandle methodHandle, Object[] parameters)
at Csla.Reflection.MethodCaller.CallMethod(Object obj, String method, Object[] parameters)
at Csla.Reflection.LateBoundObject.CallMethod(String method)
at Csla.Server.SimpleDataPortal.Update(Object obj, DataPortalContext context)
at Csla.DataPortal.Update[T](T obj)
at Csla.BusinessBase`1.Save()
at Changepoint.CommonServices.BO.CPBusinessBase`1.Save()
at Changepoint.ChangepointAPI2.ApiProject.Update()
6:54:41 PM Level1: Log for this source is end


ERROR in SQL trace:
Cannot insert the value NULL into column 'GlobalWorkgroupId', table 'Changepoint.dbo.ManageMember'; column does not allow nulls. UPDATE fails.


REASON:
The project manager in the XML file is an unassigned resource.

Unassigned resources cannot be project managers.
 

Please note such an update is not possible also from UI.


RESOLUTION:

Use another resource as project manager in the XML, in ID tag under ProjectManager.

E.g.

[...]

<proj:ProjectManager>
    <proj:Id>{...GUID:ProjectManagerID...}</proj:Id>
    <proj:Name/>
    <proj:AlternateName/>
</proj:ProjectManager>
[...]