{{Quickfixn}} Help me in resolving msgType 35=W issue
Nirjhar Jain
nirjhar.jain at commdel.net
Mon Nov 25 21:23:29 PST 2013
Hi Grant Sir,
I have already followed the instructions you have told me to do. I have
already added 9063 (SettType) field in the spec file as below:
<message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
<field name="MDReqID" required="N" />
<component name="Instrument" required="Y" />
<group name="NoUnderlyings" required="N">
<component name="UnderlyingInstrument" required="N" />
</group>
<group name="NoLegs" required="N">
<component name="InstrumentLeg" required="N" />
</group>
<field name="FinancialStatus" required="N" />
<field name="CorporateAction" required="N" />
<field name="NetChgPrevDay" required="N" />
<group name="NoMDEntries" required="Y">
<field name="MDEntryType" required="Y" />
<field name="MDEntryPx" required="N" />
<field name="Currency" required="N" />
<field name="MDEntrySize" required="N" />
<field name="MDEntryDate" required="N" />
<field name="MDEntryTime" required="N" />
<field name="TickDirection" required="N" />
<field name="MDMkt" required="N" />
<field name="TradingSessionID" required="N" />
<field name="TradingSessionSubID" required="N" />
<field name="QuoteCondition" required="N" />
<field name="TradeCondition" required="N" />
<field name="MDEntryOriginator" required="N" />
<field name="LocationID" required="N" />
<field name="DeskID" required="N" />
<field name="OpenCloseSettlFlag" required="N" />
<field name="TimeInForce" required="N" />
<field name="ExpireDate" required="N" />
<field name="ExpireTime" required="N" />
<field name="MinQty" required="N" />
<field name="ExecInst" required="N" />
<field name="SellerDays" required="N" />
<field name="OrderID" required="N" />
<field name="QuoteEntryID" required="N" />
<field name="MDEntryBuyer" required="N" />
<field name="MDEntrySeller" required="N" />
<field name="NumberOfOrders" required="N" />
<field name="MDEntryPositionNo" required="N" />
<field name="Scope" required="N" />
<field name="PriceDelta" required="N" />
<field name="Text" required="N" />
<field name="EncodedTextLen" required="N" />
<field name="EncodedText" required="N" />
<field name="SettType" required="N" />
</group>
<field name="ApplQueueDepth" required="N" />
<field name="ApplQueueResolution" required="N" />
</message>
Also added inside the field tag
<field number="9063" name="SettType" type="STRING" />
After doing this I have regenerated the code and used the dll.
Also I have added "UseDataDictionary=Y" and "DataDictionary=path/to/xml" in
my config file. Then also below mentioned error is coming.
When received(from HSBC) message i.e. msgStr is passed through below code,
the sequence of tags change.
Message message = msgFactory_.Create(beginString, msgType.Obj);
message.FromString( msgStr, this.ValidateLengthAndChecksum,
this.SessionDataDictionary,
this.ApplicationDataDictionary,
this.msgFactory_);
Please help. Also I have added the tag separator(.) in the below mail.
Thanks & Regards,
Nirjhar Jain
Software Engineer
COMMDEL
Commdel Consulting Services P Ltd,
H-134, Sector-63, Noida - U.P. (India)
<http://www.commdel.net/> www.commdel.net
A n I S O 9 0 0 1 : 2 0 0 8 C e r t i f i e d C o m p a n y
Payment Enterprise Mobility Internet
From: quickfixn-bounces at lists.quickfixn.com
[mailto:quickfixn-bounces at lists.quickfixn.com] On Behalf Of Grant Birchmeier
Sent: Monday, November 25, 2013 9:31 PM
Cc: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} Help me in resolving msgType 35=W issue
Nirjhar,
The message passed to Next(msgStr) is what HSBC is actually sending to you.
The first version you pasted is messed up because I think your
DataDictionary xml file is not correct. As I've told you a few times now,
9063 is not a default FIX field. HSBC invented it. You need to edit your
DD xml file to define this field and you need to specify where in the W
message's 269 group it is located.
See http://quickfixn.org/tutorial/custom-fields-groups-and-messages
Also, do you have "UseDataDictionary=Y" and "DataDictionary=path/to/xml" in
your config file? You need these.
TIP: In the future, when pasting messages, please changing the field
separators to something readable. For example, please change this:
8=FIX.4.49=20735=W34=4...
To this:
8=FIX.4.4|9=207|35=W|34=4...
So that these messages are easier to read and we can help you better.
On Fri, Nov 22, 2013 at 3:11 AM, Nirjhar Jain <nirjhar.jain at commdel.net
<mailto:nirjhar.jain at commdel.net> > wrote:
Hi All,
I am receiving MarketDataSnapshotFullRefresh 35=W from the HSBC server i.e.
8=FIX.4.4.9=0207.35=W.49=HSBCAPFIX.56=KRISQLSSTR.34=4.52=20131122-08
<tel:20131122-08>
:51:58.244.57=KRIS.55=USD/JPY.262=MARKETDATAID08:53:19.9019294.268=2.269=0.2
70=101.026.271=1000000.272=20131126.299=00c00000001:A.9063=SP.269=1.270=101.
034.10=182
In my quickfix code, in Session.cs file, Next(string msgStr) function is
getting above mentioned string as msgStr.
But inside Next(string msgStr) function when the msgStr is passed inside
below :
Message message = msgFactory_.Create(beginString, msgType.Obj);
message.FromString(msgStr, this.ValidateLengthAndChecksum,
this.SessionDataDictionary, this.ApplicationDataDictionary,
this.msgFactory_);
the message format is getting changed to below one:
8=FIX.4.4...9=207...35=W...34=4...49=HSBCAPFIX...52=20131122-08
<tel:20131122-08>
:51:58.244...56=KRISQLSSTR...57=KRIS...55=USD/JPY...262=MARKETDATAID08:53:19
.9019294...269=1...270=101.034...9063=SP...268=2...269=0...270=101.026...271
=1000000...272=20131126...299=00c00000001:A...10=134
If we pass it to Next(message); message, It is giving error and generating
QuoteReject message as below:
8=FIX.4.4...9=146...35=3...34=4...49=KRISQLSSTR...50=KRIS...52=20131122-08
<tel:20131122-08> :54:07.038...56=HSBCAPFIX...45=4...58=Incorrect NumInGroup
count for repeating group...371=268...372=W...373=16...10=173
Here message.FromString(msgStr, this.ValidateLengthAndChecksum,
this.SessionDataDictionary, this.ApplicationDataDictionary,
this.msgFactory_);
Is changing the sequence of tags and also changing the value of tag 10.
Please help me in resolving this issue.
Thanks & Regards,
Nirjhar Jain
Software Engineer
COMMDEL
Commdel Consulting Services P Ltd,
H-134, Sector-63, Noida - U.P. (India)
<http://www.commdel.net/> www.commdel.net
A n I S O 9 0 0 1 : 2 0 0 8 C e r t i f i e d C o m p a n y
Payment Enterprise Mobility Internet
--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20131126/a2c34c7a/attachment-0002.htm>
More information about the Quickfixn
mailing list