I am using Aras 11 SP15. I am trying to update a requirement I created. Here is my code:
using System;
using System.Collections.Generic;
using Aras.IOM;
namespace TestArasProject
{
public static class Program
{
public static void Main(string[] args)
{
HttpServerConnection conn = IomFactory.CreateHttpServerConnection(serverUrl, dbName, username, password);
Innovator inn = IomFactory.CreateInnovator(conn);
conn.Login();
Item updateItem = inn.newItem(requirement, "edit");
string internalId = "FB20D91203DC4E3EB30DBA0CFBE4FD0F";
updateItem.setAttribute("where", "[" + requirement.Replace(' ', '_') + "]." + "config_id" + " = '" + internalId + "' AND [" + requirement.Replace(' ', '_') + "]." + "is_current" + "='1'");
// updating the name of the requirement
updateItem.setProperty("req_rm_title", "Test Requirement" + Guid.NewGuid());
Item result = updateItem.apply();
Console.WriteLine(result);
Console.WriteLine(result.isError());
Console.ReadLine();
conn.Logout();
}
}
}
I am getting the following error:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="">schemas.xmlsoap.org/.../" xmlns:i18n="">www.aras.com/I18N"><SOAP-ENV:Body><SOAP-ENV:Fault>
<faultcode>1</faultcode>
<faultactor />
<faultstring>Classification cannot be changed after saving the item.</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
I checked the XML which was getting created to update, this XML did not even contain the Classification property nor am I trying to update it. Here is the XML:
<Item isNew=\"1\" isTemp=\"1\" type=\"re_Requirement\" action=\"edit\" where=\"[re_Requirement].config_id = '3AFD850B785E43F1B854EE404469FA87' AND [re_Requirement].is_current='1'\">
<req_title>2019_06_24_12_25_42_850_-{AB}</req_title>
</Item>
I noticed that Classification (Type) is a default value on UI still I need to explicitly pass it through the API. This is not the case with Risk or Complexity type of fields. How do I update a requirement?