{{Quickfixn}} Help me in resolving msgType 35=W issue

Nirjhar Jain nirjhar.jain at commdel.net
Tue Nov 26 21:20:44 PST 2013


Hi Grant Sir,

 

It was a blunder mistake. Actually I am developing same app for both Citi &
HSBC bank. So I have done changes in Fix spec of HSBC and the path shared in
the config file of HSBC was of Citi bank's spec file. That's why the changes
were not reflecting in my HSBC project. 

 

 

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: Tuesday, November 26, 2013 11:09 PM
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} Help me in resolving msgType 35=W issue

 

Great!  What did the problem turn out to be?

 

On Tue, Nov 26, 2013 at 4:39 AM, Nirjhar Jain <nirjhar.jain at commdel.net
<mailto:nirjhar.jain at commdel.net> > wrote:

Please don't waste time in this issue. The issue shared in the below mail is
resolved.

 

 

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: Nirjhar Jain [mailto:nirjhar.jain at commdel.net
<mailto:nirjhar.jain at commdel.net> ] 
Sent: Tuesday, November 26, 2013 10:53 AM
To: 'Mailing list for QuickFIX/n'
Subject: RE: {{Quickfixn}} Help me in resolving msgType 35=W issue

 

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>
[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


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com <mailto:Quickfixn at lists.quickfixn.com> 
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com





 

-- 

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/20131127/dc2f41de/attachment-0002.htm>


More information about the Quickfixn mailing list