/** * Callback chamado logo antes do envio da mensagem FIX de controle de sessão. * */ public void toAdmin(QuickFix.Message message, SessionID sessionId) { try { // Se for mensagem de Logon, inclui o RawData e RawDataLength na mensagem if (message.getHeader().getString(MsgType.FIELD).Equals("A")) { message.setBoolean(ResetSeqNumFlag.FIELD, true); message.setInt(NextExpectedMsgSeqNum.FIELD, (new NextExpectedMsgSeqNum(ConstantesMDS.BMF_SEQNUM_INICIAL)).getValue()); message.setField(RawData.FIELD, new RawData(senha).ToString()); message.setField(RawDataLength.FIELD, new RawDataLength(senha.Length).ToString()); if (novaSenha != null && novaSenha.Length > 0) { message.setField(NewPassword.FIELD, new NewPassword(novaSenha).ToString()); logger.Info("Enviada nova senha para alteracao!"); } } else if (message.getHeader().getString(MsgType.FIELD).Equals("5")) { if (assinados) { cancelaInstrumentos(); } } logger.Debug("SEND(SES) --> " + message.ToString()); } catch (FieldNotFound e) { logger.Error("Campo nao encontrado: " + e.Message, e); } }