quickfix - Configuration failed: <message> contains no fields
Asked Answered
C

1

8

I'm using quickfix with python bindings. Upon initialization while using FIX44.xml I get the following error:

Traceback (most recent call last):
  File "C:\dev\my_proj\quickfix_app.py", line 1227, in start_app
    initiator = fix.SocketInitiator(self, storeFactory, settings, logFactory )
  File "C:\Users\Me\virtual_environments\my_env\lib\site-packages\quickfix.py", line 34432, in __init__
    SocketInitiatorBase.__init__(self, application, storeFactory, settings, logFactory)
  File "C:\Users\Me\virtual_environments\my_env\lib\site-packages\quickfix.py", line 34316, in __init__
    this = _quickfix.new_SocketInitiatorBase(*args)
ConfigError: Configuration failed: FIX44.xml: Configuration failed: <message> contains no fields

The error originates from the last line in the following code:

settings     = fix.SessionSettings('FIX44.xml')
storeFactory = fix.FileStoreFactory( settings )
logFactory   = fix.ScreenLogFactory(settings)
initiator    = fix.SocketInitiator(self, storeFactory, settings, logFactory )

I get the same error for using FIX43.xml, however FIX42.xml works fine. These xml files check out using an XML validator. As I'm using example xml files from the quickfix site I doubt the problem is with the files.
What could cause this error?

Contretemps answered 8/4, 2014 at 15:36 Comment(0)
C
20

Incredibly, quickfix isn't compatible with the xml from the quickfix site. I found the following line in FIX44.xml:

<message name='XMLnonFIX' msgcat='admin' msgtype='n' />

Which indeed has no fields. As I don't need this message, I simply removed the line and it works.

Contretemps answered 8/4, 2014 at 16:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.