登录时QuickFixJ Initiator设置用户名和密码

YoandyPérezVillazón:

我正在研究一种解决方案的开发,该解决方案使用带有quickfixj框架的FIX协议连接到金融市场。具体来说,我正在实现启动器,并且需要连接到接受器并指定用户名和密码。关于如何将“登录”消息中的这些字段传递给服务器,Quickfixj文档在这方面不是很清楚。

经过检查,我发现它已放入toAdmin函数中,我在此函数中放入了以下代码:

@Override
public void toAdmin(Message message, SessionID sessionId) {

    Session.lookupSession(sessionId).setTargetDefaultApplicationVersionID(new ApplVerID("9"));

    final Message.Header header = message.getHeader();      

     try {
        if ( header.getField(new BooleanField(MsgType.FIELD)).equals(MsgType.LOGON) ) {                  
                message.setField(new StringField(Username.FIELD, "user")); 
                message.setField( new StringField(Password.FIELD, "pass"));
                System.out.println(">>> " + message.toRawString()); 
             }
    } catch (FieldNotFound e) {
        // TODO Auto-generated catch block

        e.printStackTrace();
    } 
}

但是我仍然无法执行登录过程,并且在尝试登录时会显示下一条日志。

<20190313-14:44:33, FIXT.1.1:aaa->bbb, outgoing> (8=FIXT.1.1 9=74 35=A 34=1 49=aaa 52=20190313-14:44:33.431 56=bbb 98=0 108=30 1137=9 10=131 )
<20190313-14:44:33, FIXT.1.1:aaa->bbb, event> (Initiated logon request)
<20190313-14:44:33, FIXT.1.1:aaa->bbb, event> (Disconnecting: Encountered END_OF_STREAM)
<20190313-14:44:37, FIXT.1.1:aaa->bbb, event> (MINA session created: local=/192.168.1.80:51372, class org.apache.mina.transport.socket.nio.NioSocketSession, remote=/3.3.3.3:443)
<20190313-14:44:38, FIXT.1.1:aaa->bbb, outgoing> (8=FIXT.1.1 9=74 35=A 34=2 49=aaa 52=20190313-14:44:38.420 56=bbb 98=0 108=30 1137=9 10=135 )
<20190313-14:44:38, FIXT.1.1:aaa->bbb, event> (Initiated logon request)
<20190313-14:44:38, FIXT.1.1:aaa->bbb, event> (Disconnecting: Encountered END_OF_STREAM)

他们在一些论坛中提到,如果用户名和密码未正确传递,则可能发生这种情况

问题:

  • 有人使用quickfixj传递用户名和密码来在可以帮助我的接受器中进行身份验证。
  • 显示的错误消息可能还有其他原因,有人知道吗?
格兰特·伯奇迈尔(Grant Birchmeier):

这就是您需要的toAdmin()

final String msgType = msg.getHeader().getString(MsgType.FIELD);
if(MsgType.LOGON.compareTo(msgType) == 0)
{
    msg.setString(quickfix.fields.Username.FIELD, _username);
    msg.setString(quickfix.fields.Password.FIELD, _password);
}

这在用户常见问题解答中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

QuickFIX/J 启动器 - 在登录时设置用户名和密码

登录系统,输入用户名和密码后登录

在 RocketMQ 中使用集群时如何设置用户名和密码?

安装Kali Linux时设置用户名和密码,这个用户是root用户还是非root用户?

我的登录用户名和密码是什么?

什么是Grafana登录页面默认的用户名和密码?

ssh登录和git pull询问用户名/密码

PHP登录“无效的用户名和密码”

简单的用户名和密码登录 Python 3

带有用户名和密码的登录页面

Cake php无法登录“错误的用户名和密码”

PHP登录“无效的用户名和密码”使用MySQL

输入正确的用户名和密码后无法登录

不使用密码和用户名登录

首次登录Apache Airflow要求输入用户名和密码,用户名和密码是什么?

首次登录Apache Airlfow要求输入用户名和密码,用户名和密码是什么?

输入用户名和密码时 UWP 崩溃

在Debian 9 Stretch中删除登录时的用户名和密码

Laravel 5 db:种子用户名和密码,但登录时不进行身份验证

当我输入错误的用户名或密码时,只会说**请输入用户名和密码**

当用户在登录时输入错误的用户名和密码时,它未在ROR中闪烁任何错误消息

当使用正确的帐户和密码进行“ npm login”登录时,为什么仍然获得“用户名或密码错误”?

使用appium自动执行登录过程时,密码和用户名会输入到用户名的同一字段中

无法从MySQL到登录检索用户标识(用户名和密码)

AWS Cognito登录用户而无需来自服务器的用户名和密码

SqlConnection 使用 Dynamics GP 用户名和密码 -- 用户登录失败

Flutter App登录,应检查用户输入的用户名和密码,以及从api返回的值

如何使用2或3个用户名和密码以用户形式创建登录名?

Amazon Cognito使用用户名和密码登录用户