quickfix.Session.sendToTarget()返回“ NotImplementedError:重载函数的参数数目或类型错误”

时间:2019-06-13 10:40:58

标签: python-3.x quickfix

我是第一次通过quickfix连接。 Python是3.7。环境是Windows7。创建会话没有问题。发送消息时出现问题。我对此完全陌生,请帮忙。

import quickfix as fix
#...
settings     = fix.SessionSettings(file)
application  = FIX_IO()
storeFactory = fix.FileStoreFactory(settings)
initiator    = fix.SocketInitiator(application, storeFactory, settings)

initiator.start()
# ALL OK WITH THE SESSION

sid = fix.SessionID('FIX.4.4', 'XXXX', 'XXXX')


print('IT DOES EXISTS:',fix.Session_doesSessionExist(sid))
#YES IT DOES

我成功构建了一条消息(如下所示),并且打印了...

LOGGED ON BEFORE MESSAGE: False
Logging on...
8=FIX.4.4 9=121 35=A 34=1 49=Q029 52=20190613-16:51:43.000 56=XC80 553=somelogin 554=somepassword 58=LOGON ATTEMPT 98=0 108=30 141=Y 10=015
Logging on...
Traceback (most recent call last):
  File "C:\Users\bru\AppData\Local\Programs\Python\Python37-32\lib\site-packages\quickfix.py", line 39579, in fromAdmin
    return _quickfix.Application_fromAdmin(self, arg0, arg1)
RuntimeError: SWIG director pure virtual method called FIX::Application::fromAdmin
LOGGED ON AFTER MESSAGE: False

1 个答案:

答案 0 :(得分:0)

阅读错误消息,伙计!

NotImplementedError: Wrong number or type of arguments for overloaded function 'Session_sendToTarget'.

您正在传递sendToTarget一个不合适的参数,因为它的类型错误。

那么,该参数的类型是什么? Simplefix消息。它被传递给什么功能? QuickFIX功能。

您不能这样做!您正在尝试在福特卡车中使用Toyota零件。

QuickFIX对Simplefix一无所知,它当然不具有任何采用SimpleFix参数的功能。

因此,选择一种:QuickFIX或SimpleFix。您不能在一个应用程序中同时使用两者。