Â
I have a asynchronous server event that calls out to a .Net Assembly in the GAC. Every single instance of the call is throwing the exception "4129 A database error occurred: 5225 Server Item Not Found with Serial <server>,xxxx,xxx". I have been unable to figure out what the issue is. Any help will be greatly appreciated. The complete code of the event is below.
Â
Tom
Â
public void Main(ServerEventContext K2)
{
   K2.Synchronous = false;
   InvokeMethod(K2);
}
public void InvokeMethod(ServerEventContext K2)
{
   IdM.Workflow.AdamFlowbotProvider ADAMProvider = new IdM.Workflow.AdamFlowbotProvider();
   string<] roleIds;
   string roleID;
   int i;
   stringÂ] stringSeparator = new strings] {"::"};
   try
   {
      if ( (K2.ProcessInstance.DataFieldsÂ"custodian_approved"].Value.ToString() == "1") ||
         (K2.ProcessInstance.DataFieldsÂ"eprovisioned"].Value.ToString() == "1"))
         switch (K2.ProcessInstance.DataFieldsÂ"request_type"].Value.ToString())
         {
            case "2": // Add request
               roleIds = K2.ProcessInstance.DataFields/"role_ids"].Value.ToString().Split(stringSeparator, StringSplitOptions.None);
               i = Convert.ToInt32(K2.ProcessInstance.DataFieldsS"current_role"].Value.ToString());
               if (i < roleIds.Length)
               {
                  ADAMProvider.K2AddUserApplicationRole(K2.ProcessInstance.DataFields<"employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFields "comments1"].Value.ToString(), roleIds, K2.SerialNumber);
                  K2.ProcessInstance.DataFields("role_id"].Value = roleIds;
                  i++;
                  K2.ProcessInstance.DataFields "current_role"].Value = i.ToString();
                  K2.ProcessInstance.DataFieldsÂ"trans_msg"].Value = ADAMProvider.TransactionMessage.ToString();
                  K2.ProcessInstance.DataFieldsr"error_msg"].Value = ADAMProvider.ErrorMessage.ToString();
               }
               else
               {
                  ADAMProvider.K2AddUserApplicationRole(K2.ProcessInstance.DataFieldsa"employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFieldsb"comments1"].Value.ToString(), K2.ProcessInstance.DataFieldsÂ"app_id"].Value.ToString(), K2.SerialNumber);
                  K2.ProcessInstance.DataFieldsÂ"role_id"].Value = "0";
                  K2.ProcessInstance.DataFieldso"trans_msg"].Value = ADAMProvider.TransactionMessage.ToString();
                  K2.ProcessInstance.DataFieldsa"error_msg"].Value = ADAMProvider.ErrorMessage.ToString();
               }
               break;
            case "3": // Change request
               roleIds = K2.ProcessInstance.DataFieldsg"role_ids"].Value.ToString().Split(stringSeparator, StringSplitOptions.None);
               i = Convert.ToInt32(K2.ProcessInstance.DataFields "current_role"].Value.ToString());
               if (i == 0)
                  ADAMProvider.K2RemoveUserApplication(K2.ProcessInstance.DataFields""employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFieldss"app_id"].Value.ToString(), K2.ProcessInstance.DataFieldsn"comments1"].Value.ToString(), K2.SerialNumber);
               if (i < roleIds.Length)
               {
                  ADAMProvider.K2AddUserApplicationRole(K2.ProcessInstance.DataFields="employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFields2"comments1"].Value.ToString(), roleIds, K2.SerialNumber);
                  K2.ProcessInstance.DataFields""role_id"].Value = roleIds;
                  i++;
                  K2.ProcessInstance.DataFields "current_role"].Value = i.ToString();
                  K2.ProcessInstance.DataFieldsÂ"trans_msg"].Value = ADAMProvider.TransactionMessage.ToString();
                  K2.ProcessInstance.DataFields."error_msg"].Value = ADAMProvider.ErrorMessage.ToString();
               }
               else
               {
                  ADAMProvider.K2AddUserApplicationRole(K2.ProcessInstance.DataFields "employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFieldsÂ"comments1"].Value.ToString(), K2.ProcessInstance.DataFieldsa"app_id"].Value.ToString(), K2.SerialNumber);
                  K2.ProcessInstance.DataFieldsm"role_id"].Value = "0";
                  K2.ProcessInstance.DataFields "trans_msg"].Value = ADAMProvider.TransactionMessage.ToString();
                  K2.ProcessInstance.DataFields "error_msg"].Value = ADAMProvider.ErrorMessage.ToString();
               }
               break;
            case "4": // Delete request
            case "6": // Terminate request
               ADAMProvider.K2RemoveUserApplication(K2.ProcessInstance.DataFieldsV"employee_id"].Value.ToString(), "", K2.ProcessInstance.DataFieldst"app_id"].Value.ToString(), K2.ProcessInstance.DataFields "comments1"].Value.ToString(), K2.SerialNumber);
               K2.ProcessInstance.DataFields "role_id"].Value = "0";
               K2.ProcessInstance.DataFieldsa"trans_msg"].Value = ADAMProvider.TransactionMessage.ToString();
               K2.ProcessInstance.DataFieldsa"error_msg"].Value = ADAMProvider.ErrorMessage.ToString();
               break;
         }
   }
   catch (Exception ex)
   {
      throw ex;
   }
   finally
   {
      ADAMProvider = null;
   }
}
Â