public override void Execute()

in FixAntenna/AdminTool/Commands/Administrative/CreateInitiator.cs [32:119]


		public override void Execute()
		{
			Log.Debug("Execute CreateInitiator Command");
			try
			{
				if (RequestId == null)
				{
					SendInvalidArgument("Parameter RequestID is required");
					return;
				}

				var createInitiatorRequest = (Fixicc.Message.CreateInitiator) Request;

				var details = new SessionParameters();
				if (!FillSenderTargetIds(createInitiatorRequest, details))
				{
					return;
				}

				if (!FillConnectionParameters(createInitiatorRequest, details))
				{
					return;
				}

				if (!FillFixVersion(createInitiatorRequest, details))
				{
					return;
				}
				if (!FillBackupConnection(createInitiatorRequest, details))
				{
					return;
				}

				var extraSessionParams = createInitiatorRequest.ExtraSessionParams;
				if (extraSessionParams != null)
				{ // fixed bug 15170 Session using the RAI was not created
					if (!FillExtraSessionParams(details, extraSessionParams))
					{
						return;
					}
					FillCyclicSwitchOption(createInitiatorRequest, details);
					FillAutoSwitchToBackupOption(createInitiatorRequest, details);
					FillForcedReconnect(createInitiatorRequest, details);
				}
				if (ConfiguredSessionRegister.IsSessionRegistered(details.SessionId))
				{
					SendError($"Can't create initiator session. Session {details.SessionId} already exists");
					return;
				}
				var session = details.CreateNewFixSession();
				if (session == null)
				{
					SendError("Can't create session");
					return;
				}

				session.SetFixSessionListener(new FixSessionListenerAnonymousInnerClass(this));

				if (createInitiatorRequest.Backup != null
						&& createInitiatorRequest.Backup.ActiveConnection == ActiveConnection.BACKUP)
				{
					var backupFIXSession = (IBackupFixSession) session;
					//switch host and connect
					backupFIXSession.SwitchToBackUp();
				}
				else
				{
					session.Connect();
				}

				SendResponseSuccess(new Response());
			}
			catch (IOException e)
			{
				Log.Error(e);
				SendError($"Unknown host: {e.Message}");
			}
			catch (SocketException e)
			{
				Log.Error(e);
				SendError($"Unknown host: {e.Message}");
			}
			catch (Exception e)
			{
				Log.Error(e);
				SendError(e.Message);
			}
		}