Getting exception when trying to remove change set linked to work item
IFileSystemWorkItemManager fileSystemWorkItemManager =
(IFileSystemWorkItemManager) this.teamRepository.getClientLibrary(IFileSystemWorkItemManager.class);
fileSystemWorkItemManager.deleteLinks(Arrays.asList(reference.getLink()), new NullProgressMonitor());
[2018-08-31 13:57:04,888] [ERROR] [common]: CRJAZ2675I A client action caused the server exception that is listed below. The identifier for the error is 36841f3b-35ef-4048-8d3a-3e52a73283c8.
com.ibm.team.repository.common.InternalRepositoryException: Links of this type may only be modified by the defining component.
Link Type: com.ibm.team.filesystem.workitems.change_set
Defining Component: com.ibm.team.filesystem.workitems
Requesting Component: com.ibm.team.workitem
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:377)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:347)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeFault(MarshallerUtil.java:312)
at com.ibm.team.repository.transport.client.RemoteTeamService.constructExceptionFromFault(RemoteTeamService.java:716)
at com.ibm.team.repository.transport.client.RemoteTeamService.executeMethod(RemoteTeamService.java:559)
at com.ibm.team.repository.transport.client.RemoteTeamService.invoke(RemoteTeamService.java:202)
at com.ibm.team.repository.transport.client.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:43)
at com.sun.proxy.$Proxy38.save(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invokeServiceCall(ServiceInterfaceProxy.java:254)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:110)
at com.sun.proxy.$Proxy38.save(Unknown Source)
at com.ibm.team.workitem.client.internal.WorkItemSaveTransport$1.run(WorkItemSaveTransport.java:33)
at com.ibm.team.repository.client.internal.TeamRepository$3.run(TeamRepository.java:1355)
at com.ibm.team.repository.common.transport.CancelableCaller.call(CancelableCaller.java:79)
at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(TeamRepository.java:1350)
at com.ibm.team.workitem.client.internal.WorkItemSaveTransport.call(WorkItemSaveTransport.java:30)
at com.ibm.team.workitem.client.internal.WorkItemSaveRunnable.run(WorkItemSaveRunnable.java:37)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runRunnable(OperationAdviceManager.java:1504)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.execute(OperationAdviceManager.java:209)
at com.ibm.team.process.internal.client.ProcessClientService.execute(ProcessClientService.java:774)
at com.ibm.team.workitem.client.internal.WorkItemClient.save(WorkItemClient.java:573)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyRegistry.saveWorkItems(WorkItemWorkingCopyRegistry.java:2320)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyRegistry.saveAffected(WorkItemWorkingCopyRegistry.java:2211)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyRegistry.save(WorkItemWorkingCopyRegistry.java:2094)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyRegistry.save(WorkItemWorkingCopyRegistry.java:2055)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyManager.save(WorkItemWorkingCopyManager.java:126)
at com.ibm.team.workitem.client.internal.WorkItemWorkingCopyImpl.save(WorkItemWorkingCopyImpl.java:243)
2 answers
Comments
In my experience, the RTC SCM service reserves certain operations for itself. That means, there is a component ID that is associated to services such as SCM or work item etc. The operation checks the requests component ID and can reject operations that come from someone that should not request it.
Links of this type may only be modified by the defining component.
Link Type: com.ibm.team.filesystem.workitems.change_set
Defining Component: com.ibm.team.filesystem.workitems
Requesting Component: com.ibm.team.workitem
This has always been the case. I remember that I ran into the same issue when working on the work item command line. I have also seen this in the server API.
Comments
Thomas Kirstätter
Sep 28 '18, 1:29 a.m.