java - Fix Protocol Error : Field [5232] was not found in message -
i using quickfix , stunnel connect server rsa private key.
when sending market data request(msgtype=v), getting following error
8=fix.4.49=14735=y34=55349=abcd52=20130513-03:23:23.24356=abcdefghi58=field [5232] not found in message.262=85ee75f8-ab5d-4aff-b87d-108b74d3281=010=53
i searched , found this link 5232 currency field
so passed currency value 5232 below
message message = new message(); ................ message.setfield(5232, new quickfix.field.currency("eur")); ................ session.sendtotarget(message, sessid);
but when checked code of outgoing message, found field 5232 automatically converted '15=eur', , again giving error 'field [5232] not found in message'
can point out missing here ?
i bit confused field number regardless error making request must have group , currency field must in group.
here example:
marketdatarequest marketdatarequest = new marketdatarequest(); string reqid = symbol+new date().gettime(); //unique id marketdatarequest.setstring(mdreqid.field,reqid); // set id char requesttype = subscriptionrequesttype.snapshot_plus_updates; marketdatarequest.setchar(subscriptionrequesttype.field,requesttype); // set update type marketdatarequest.setint(marketdepth.field, 0); marketdatarequest.setint(mdupdatetype.field, 0); marketdatarequest.nomdentrytypes entrytypes = new marketdatarequest.nomdentrytypes(); // create group request both bid , offers entrytypes.set(new mdentrytype(mdentrytype.bid)); marketdatarequest.addgroup(entrytypes); entrytypes.set(new mdentrytype(mdentrytype.offer)); marketdatarequest.addgroup(entrytypes); marketdatarequest.norelatedsym norelatedsym = new marketdatarequest.norelatedsym(); // create group add list of symbols norelatedsym.set(new symbol(getsymbol(symbol))); marketdatarequest.addgroup(norelatedsym);
as can see fields must first entered group , message. there should dictionary definition called fix44.xml show structure of message. in quickfix/etc/
directory.
Comments
Post a Comment