Tag appears more than once error for a MarketDataIncrementalRefresh

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Tag appears more than once error for a MarketDataIncrementalRefresh

jimmy
I can't get rid of the aforementioned error (which is a reject sent by my application)

My fix config should be setup correctly for FIX.5.0SP2 with a custom AppDataDictionary.FIX.5.0SP2=FIX50SP2.broker.xml. However my client still rejects all incoming MarketDataIncrementalRefresh messages.


I defined an X message like this:

<message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app">
      <field name="MDReqID" required="N"/>
      <group name="NoMDEntries" required="Y">
              <field name="MDUpdateAction" required="Y"/>
              <field name="MDEntryType" required="N"/>
              <field name="MDEntryID" required="N"/>
              <field name="MDEntryPx" required="N"/>
              <field name="MDEntrySize" required="N"/>
              <field name="MDEntryTime" required="N"/>
              <field name="QuoteID" required="N"/>
      </group>
      <component name="Instrument" required="N"/>
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="MDBookType" required="N"/>
      <field name="MDFeedType" required="N"/>
      <field name="TradeDate" required="N"/>
      <component name="MDIncGrp" required="N"/>
      <field name="ApplQueueDepth" required="N"/>
      <field name="ApplQueueResolution" required="N"/>
      <component name="RoutingGrp" required="N"/>
    </message>


I can make the reject message disappear by setting ValidateIncomingMessage=N but this doesn't seem like a sensible solution. Furthermore I can't parse groups correctly of incoming X messages: If I try to iterate over all NoMDEntries, I can only retrieve one group at a time (instead of two). I have the same problem for MarketDataSnapshotFullRefresh, with the same error.

I also checked all the types of the required fields, they all seem to be in order. I'm really at a loss here.



The FIX Messages look like this:


8=FIXT.1.1|9=263|35=X|34=28|49=FIXOTCMD1|52=20151019-19:59:12.976|56=MY-CLIENT|262=4310904381820189tgwi|268=2|279=1|269=1|278=9215|270=4706.3|271=10000|273=20:59:12.000|117=1445284752971824736|279=1|269=0|278=9218|270=4704.3|271=10000|273=20:59:12.000|117=1445284752971820735|10=237|

8=FIXT.1.1|9=123|35=3|34=24|49=MY-CLIENT|52=20151019-19:59:13.047|56=FIXOTCMD1|45=28|58=Tag appears more than once|371=117|372=X|373=13|10=192|


8=FIXT.1.1|9=259|35=X|34=29|49=FIXOTCMD1|52=20151019-19:59:13.202|56=MY-CLIENT|262=4310904381820189tgwi|268=2|279=1|269=1|278=9215|270=4707|271=10000|273=20:59:13.000|117=1445284753197982534|279=1|269=0|278=9218|270=4705|271=10000|273=20:59:13.000|117=1445284753197978533|10=049|

8=FIXT.1.1|9=123|35=3|34=25|49=MY-CLIENT|52=20151019-19:59:13.273|56=FIXOTCMD1|45=29|58=Tag appears more than once|371=117|372=X|373=13|10=195|


my initial subscription looks like this:
8=FIXT.1.1|9=167|35=V|34=3|49=MY-CLIENT|52=20151019-19:59:10.519|56=FIXOTCMD1|262=4310904381820189tgwi|263=1|264=1|265=1|146=1|55=[N/A]|48=BROKERBLA.IP|22=101|267=2|269=0|269=1|10=121|

8=FIXT.1.1|9=168|35=V|34=4|49=MY-CLIENT|52=20151019-19:59:10.522|56=FIXOTCMD1|262=4310904406166419bvhs|263=1|264=1|265=1|146=1|55=[N/A]|48=BROKERBLA.IP|22=101|267=2|269=0|269=1|10=231|

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Grant Birchmeier
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Did you forget UseDataDictionary=Y?

If you didn't forget that, can you paste your config?

On Mon, Oct 19, 2015 at 3:21 PM, jimmy <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


I can't get rid of the aforementioned error (which is a reject sent by my
application)

My fix config should be setup correctly for FIX.5.0SP2 with a custom
AppDataDictionary.FIX.5.0SP2=FIX50SP2.broker.xml. However my client still
rejects all incoming MarketDataIncrementalRefresh messages.


I defined an X message like this:

<message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app">
      <field name="MDReqID" required="N"/>
      <group name="NoMDEntries" required="Y">
              <field name="MDUpdateAction" required="Y"/>
              <field name="MDEntryType" required="N"/>
              <field name="MDEntryID" required="N"/>
              <field name="MDEntryPx" required="N"/>
              <field name="MDEntrySize" required="N"/>
              <field name="MDEntryTime" required="N"/>
              <field name="QuoteID" required="N"/>
      </group>
      <component name="Instrument" required="N"/>
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="MDBookType" required="N"/>
      <field name="MDFeedType" required="N"/>
      <field name="TradeDate" required="N"/>
      <component name="MDIncGrp" required="N"/>
      <field name="ApplQueueDepth" required="N"/>
      <field name="ApplQueueResolution" required="N"/>
      <component name="RoutingGrp" required="N"/>
    </message>


I can make the reject message disappear by setting ValidateIncomingMessage=N
but this doesn't seem like a sensible solution. Furthermore I can't parse
groups correctly of incoming X messages: If I try to iterate over all
NoMDEntries, I can only retrieve one group at a time (instead of two). I
have the same problem for MarketDataSnapshotFullRefresh, with the same
error.

I also checked all the types of the required fields, they all seem to be in
order. I'm really at a loss here.



The FIX Messages look like this:


8=FIXT.1.1|9=263|35=X|34=28|49=FIXOTCMD1|52=20151019-19:59:12.976|56=MY-CLIENT|262=4310904381820189tgwi|268=2|279=1|269=1|278=9215|270=4706.3|271=10000|273=20:59:12.000|117=1445284752971824736|279=1|269=0|278=9218|270=4704.3|271=10000|273=20:59:12.000|117=1445284752971820735|10=237|

8=FIXT.1.1|9=123|35=3|34=24|49=MY-CLIENT|52=20151019-19:59:13.047|56=FIXOTCMD1|45=28|58=Tag
appears more than once|371=117|372=X|373=13|10=192|


8=FIXT.1.1|9=259|35=X|34=29|49=FIXOTCMD1|52=20151019-19:59:13.202|56=MY-CLIENT|262=4310904381820189tgwi|268=2|279=1|269=1|278=9215|270=4707|271=10000|273=20:59:13.000|117=1445284753197982534|279=1|269=0|278=9218|270=4705|271=10000|273=20:59:13.000|117=1445284753197978533|10=049|

8=FIXT.1.1|9=123|35=3|34=25|49=MY-CLIENT|52=20151019-19:59:13.273|56=FIXOTCMD1|45=29|58=Tag
appears more than once|371=117|372=X|373=13|10=195|


my initial subscription looks like this:
8=FIXT.1.1|9=167|35=V|34=3|49=MY-CLIENT|52=20151019-19:59:10.519|56=FIXOTCMD1|262=4310904381820189tgwi|263=1|264=1|265=1|146=1|55=[N/A]|48=BROKERBLA.IP|22=101|267=2|269=0|269=1|10=121|

8=FIXT.1.1|9=168|35=V|34=4|49=MY-CLIENT|52=20151019-19:59:10.522|56=FIXOTCMD1|262=4310904406166419bvhs|263=1|264=1|265=1|146=1|55=[N/A]|48=BROKERBLA.IP|22=101|267=2|269=0|269=1|10=231|





--
View this message in context: http://quickfix-j.364392.n2.nabble.com/Tag-appears-more-than-once-error-for-a-MarketDataIncrementalRefresh-tp7579278.html
Sent from the QuickFIX/J mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.

------------------------------------------------------------------------------

_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

jimmy
I didn't include UseDataDictionary=Y in my config. If I'm not mistaken you don't need it for FIXT1.1?

Here's my config (the many comments are from my various unsuccessful attempts):


[default]
FileStorePath=data/
ConnectionType=initiator
#UseDataDictionary=Y
DefaultApplVerID=FIX.5.0SP2
AppDataDictionary.FIX.5.0SP2=FIX50SP2.broker.xml
#AppDataDictionary.FIX.5.0=FIX50.broker.xml
TransportDataDictionary=FIXT11.xml
FileLogPath=logs
SLF4JLogEventCategory=ig.${senderCompID}.${targetCompID}.events
SLF4JLogIncomingMessageCategory=ig.${senderCompID}.${targetCompID}.incoming
SLF4JLogOutgoingMessageCategory=ig.${senderCompID}.${targetCompID}.outgoing

# needs to be defined here not inside session
SocketConnectHost=127.0.0.1

# DEMO FIX OTC Trading
[session]
#DefaultApplVerID=FIX.5.0SP2
BeginString=FIXT.1.1
#DefaultApplVerID=9
ApplVerID=FIX.5.0SP2
SenderCompID=MY-CLIENT
TargetCompID=FIXOTC1
SocketConnectPort=5000
ResetOnLogon=N
ResetOnLogout=N
ResetOnDisconnect=N
HeartBtInt=60
ReconnectInterval=30
StartTime=22:01:00 Europe/London
EndTime=22:00:00 Europe/London

# DEMO FIX OTC Market Data
[session]
#DefaultApplVerID=FIX.5.0SP2
BeginString=FIXT.1.1
#ValidateUserDefinedFields=N
#ValidateIncomingMessage=N
#ValidateUnorderedGroupFields=N
#DefaultApplVerID=9
ApplVerID=FIX.5.0SP2
SenderCompID=MY-CLIENT
TargetCompID=FIXOTCMD1
SocketConnectPort=5001
ResetOnLogon=Y
ResetOnLogout=N
ResetOnDisconnect=N
HeartBtInt=60
ReconnectInterval=30
StartTime=22:01:00 Europe/London
EndTime=22:00:00 Europe/London
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Grant Birchmeier
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



You do need it.  You pretty much always need it.  I don't know why QF doesn't default to UseDataDictionary=Y, but it doesn't.

See if that fixes it.  If it doesn't, then...

"AppDataDictionary.FIX.5.0SP2=FIX50SP2.broker.xml"

I haven't used that suffixed form before, but looking at the config docs, it appears optional.  It doesn't like this config has multiple AppDDs, so at any rate you don't need it.  Just set "AppDataDictionary=FIX50SP2.broker.xml" for now (that will rule out you having the suffix wrong or something).  Also, is that path right?  No subdirectories?

I don't see anything else obvious.  It's probably the UseDataDictionary=Y thing.


On Mon, Oct 19, 2015 at 4:06 PM, jimmy <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


I didn't include UseDataDictionary=Y in my config. If I'm not mistaken you
don't need it for FIXT1.1?

Here's my config (the many comments are from my various unsuccessful
attempts):


[default]
FileStorePath=data/
ConnectionType=initiator
#UseDataDictionary=Y
DefaultApplVerID=FIX.5.0SP2
AppDataDictionary.FIX.5.0SP2=FIX50SP2.broker.xml
#AppDataDictionary.FIX.5.0=FIX50.broker.xml
TransportDataDictionary=FIXT11.xml
FileLogPath=logs
SLF4JLogEventCategory=ig.${senderCompID}.${targetCompID}.events
SLF4JLogIncomingMessageCategory=ig.${senderCompID}.${targetCompID}.incoming
SLF4JLogOutgoingMessageCategory=ig.${senderCompID}.${targetCompID}.outgoing

# needs to be defined here not inside session
SocketConnectHost=127.0.0.1

# DEMO FIX OTC Trading
[session]
#DefaultApplVerID=FIX.5.0SP2
BeginString=FIXT.1.1
#DefaultApplVerID=9
ApplVerID=FIX.5.0SP2
SenderCompID=MY-CLIENT
TargetCompID=FIXOTC1
SocketConnectPort=5000
ResetOnLogon=N
ResetOnLogout=N
ResetOnDisconnect=N
HeartBtInt=60
ReconnectInterval=30
StartTime=22:01:00 Europe/London
EndTime=22:00:00 Europe/London

# DEMO FIX OTC Market Data
[session]
#DefaultApplVerID=FIX.5.0SP2
BeginString=FIXT.1.1
#ValidateUserDefinedFields=N
#ValidateIncomingMessage=N
#ValidateUnorderedGroupFields=N
#DefaultApplVerID=9
ApplVerID=FIX.5.0SP2
SenderCompID=MY-CLIENT
TargetCompID=FIXOTCMD1
SocketConnectPort=5001
ResetOnLogon=Y
ResetOnLogout=N
ResetOnDisconnect=N
HeartBtInt=60
ReconnectInterval=30
StartTime=22:01:00 Europe/London
EndTime=22:00:00 Europe/London



--
View this message in context: http://quickfix-j.364392.n2.nabble.com/Tag-appears-more-than-once-error-for-a-MarketDataIncrementalRefresh-tp7579278p7579280.html
Sent from the QuickFIX/J mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.

------------------------------------------------------------------------------

_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

jimmy
I've changed the config like you mentioned and unfortunately the issue still persists. The path is also correct, it throws an error if it can't find the dictionary file.

Here's the error for the MarketDataSnapshotFullRefresh:

8=FIXT.1.1|9=249|35=W|34=14|49=FIXOTCMD1|52=20151019-21:59:51.385|56=MY-CLIENT|262=4318145194571235zwmh|268=2|269=0|278=77|270=10163.3|271=10000|273=22:57:09.000|117=1445291829264994107|269=1|278=76|270=10170.3|271=10000|273=22:57:09.000|117=1445291829264998108|10=104|

8=FIXT.1.1|9=122|35=3|34=7|49=MY-CLIENT|52=20151019-21:59:51.487|56=FIXOTCMD1|45=11|58=Tag appears more than once|371=117|372=W|373=13|10=138|


Here's the dictionary entry:

 <message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
      <field name="MDReqID" required="N"/>
      <component name="Instrument" required="Y"/>
      <field name="Symbol" required="N"/>
      <group name="NoMDEntries" required="Y">
              <field name="MDEntryType" required="Y"/>
              <field name="MDEntryID" required="N"/>
              <field name="MDEntryPx" required="N"/>
              <field name="MDEntrySize" required="N"/>
              <field name="MDEntryTime" required="N"/>
              <field name="QuoteID" required="N"/>
      </group>
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="TotNumReports" required="N"/>
      <field name="MDReportID" required="N"/>
      <field name="ClearingBusinessDate" required="N"/>
      <field name="MDBookType" required="N"/>
      <field name="MDSubBookType" required="N"/>
      <field name="MarketDepth" required="N"/>
      <field name="MDFeedType" required="N"/>
      <field name="RefreshIndicator" required="N"/>
      <field name="TradeDate" required="N"/>
      <field name="MDStreamID" required="N"/>
      <component name="UndInstrmtGrp" required="N"/>
      <component name="InstrmtLegGrp" required="N"/>
      <field name="FinancialStatus" required="N"/>
      <field name="CorporateAction" required="N"/>
      <field name="NetChgPrevDay" required="N"/>
      <component name="MDFullGrp" required="Y"/>
      <field name="ApplQueueDepth" required="N"/>
      <field name="ApplQueueResolution" required="N"/>
      <component name="RoutingGrp" required="N"/>
    </message>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

I'm not sure but maybe you need to recompile QFJ with your custom dictionary?
http://www.quickfixj.org/confluence/display/qfj/User+FAQ
"If you changed field orders inside of repeating groups, then I recommend that you do, especially if
those group changes are in outgoing messages."

Which version of QFJ are you using? If 1.5.3 or lower then the instructions on that page are
correct? Otherwise just do a "mvn clean package" with your custom DD contained in the specific
messages module folder.

Cheers,
Chris.




On 20/10/15 00:04, jimmy wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> I've changed the config like you mentioned and unfortunately the issue still
> persists. The path is also correct, it throws an error if it can't find the
> dictionary file.
>
> Here's the error for the MarketDataSnapshotFullRefresh:
>
> 8=FIXT.1.1|9=249|35=W|34=14|49=FIXOTCMD1|52=20151019-21:59:51.385|56=MY-CLIENT|262=4318145194571235zwmh|268=2|269=0|278=77|270=10163.3|271=10000|273=22:57:09.000|117=1445291829264994107|269=1|278=76|270=10170.3|271=10000|273=22:57:09.000|117=1445291829264998108|10=104|
>
> 8=FIXT.1.1|9=122|35=3|34=7|49=MY-CLIENT|52=20151019-21:59:51.487|56=FIXOTCMD1|45=11|58=Tag
> appears more than once|371=117|372=W|373=13|10=138|
>
>
> Here's the dictionary entry:
>
>   <message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
>        <field name="MDReqID" required="N"/>
>        <component name="Instrument" required="Y"/>
>        <field name="Symbol" required="N"/>
>        <group name="NoMDEntries" required="Y">
>                <field name="MDEntryType" required="Y"/>
>                <field name="MDEntryID" required="N"/>
>                <field name="MDEntryPx" required="N"/>
>                <field name="MDEntrySize" required="N"/>
>                <field name="MDEntryTime" required="N"/>
>                <field name="QuoteID" required="N"/>
>        </group>
>        <component name="ApplicationSequenceControl" required="N"/>
>        <field name="TotNumReports" required="N"/>
>        <field name="MDReportID" required="N"/>
>        <field name="ClearingBusinessDate" required="N"/>
>        <field name="MDBookType" required="N"/>
>        <field name="MDSubBookType" required="N"/>
>        <field name="MarketDepth" required="N"/>
>        <field name="MDFeedType" required="N"/>
>        <field name="RefreshIndicator" required="N"/>
>        <field name="TradeDate" required="N"/>
>        <field name="MDStreamID" required="N"/>
>        <component name="UndInstrmtGrp" required="N"/>
>        <component name="InstrmtLegGrp" required="N"/>
>        <field name="FinancialStatus" required="N"/>
>        <field name="CorporateAction" required="N"/>
>        <field name="NetChgPrevDay" required="N"/>
>        <component name="MDFullGrp" required="Y"/>
>        <field name="ApplQueueDepth" required="N"/>
>        <field name="ApplQueueResolution" required="N"/>
>        <component name="RoutingGrp" required="N"/>
>      </message>
>
>
>
>
> --
> View this message in context: http://quickfix-j.364392.n2.nabble.com/Tag-appears-more-than-once-error-for-a-MarketDataIncrementalRefresh-tp7579278p7579282.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Grant Birchmeier
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Heh, I wrote that FAQ entry :)    I don't think this issue is due to a need to recompile.  I'll find a few minutes later today to look over his messages.  I bet there's a mismatch between message and DD.


On Tue, Oct 20, 2015 at 3:27 AM, Christoph John <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

I'm not sure but maybe you need to recompile QFJ with your custom dictionary?
http://www.quickfixj.org/confluence/display/qfj/User+FAQ
"If you changed field orders inside of repeating groups, then I recommend that you do, especially if
those group changes are in outgoing messages."

Which version of QFJ are you using? If 1.5.3 or lower then the instructions on that page are
correct? Otherwise just do a "mvn clean package" with your custom DD contained in the specific
messages module folder.

Cheers,
Chris.


--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.

------------------------------------------------------------------------------

_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Robert Nicholson
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



These issues are pretty easy to resolve if you simply debug the validation as it happens. Then you’ll learn how it represents the dictionary and the assumptions it expects during validation.

Errors like this can occur when the start tag doesn’t line up with the one for the group but there’s other cases too.

Look at DataDictionary class and debug the validate

On Oct 20, 2015, at 9:21 AM, Grant Birchmeier <[hidden email]> wrote:

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Heh, I wrote that FAQ entry :)    I don't think this issue is due to a need to recompile.  I'll find a few minutes later today to look over his messages.  I bet there's a mismatch between message and DD.


On Tue, Oct 20, 2015 at 3:27 AM, Christoph John <[hidden email]> wrote:
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J
Support: http://www.quickfixj.org/support/


Hi,

I'm not sure but maybe you need to recompile QFJ with your custom dictionary?
http://www.quickfixj.org/confluence/display/qfj/User+FAQ
"If you changed field orders inside of repeating groups, then I recommend that you do, especially if
those group changes are in outgoing messages."

Which version of QFJ are you using? If 1.5.3 or lower then the instructions on that page are
correct? Otherwise just do a "mvn clean package" with your custom DD contained in the specific
messages module folder.

Cheers,
Chris.


--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
------------------------------------------------------------------------------
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users


------------------------------------------------------------------------------

_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

jimmy
In reply to this post by jimmy
Thanks for all the replies! I could resolve it by now. I believe the main error was that I created group entries (like in the X message) although I should have just updated/created the definitions in the components (I didn't know that components are just macros by quickfix/j) but I assume it must have confused the application. I also recompiled quickfix/j, however I'm not sure it was necessary. So I created new components for the X and W messages and used these definitions instead of the groups - this was necessary so the recompilation would work correctly.

    <component name="MDGrpBrokerW">
      <group name="NoMDEntries" required="Y">
        <field name="MDEntryType" required="Y"/>
        <field name="MDEntryID" required="N"/>
        <field name="MDEntryPx" required="N"/>
        <field name="MDEntrySize" required="N"/>
        <field name="MDEntryTime" required="N"/>
        <field name="QuoteID" required="N"/>
      </group>
    </component>

and then resulting in this definition for W messages:

<message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
     
      <component name="MDGrpBrokerW" required="Y"/>
      <field name="MDReqID" required="N"/>
      <component name="Instrument" required="Y"/>
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="TotNumReports" required="N"/>
      <field name="MDReportID" required="N"/>
      <field name="ClearingBusinessDate" required="N"/>
      <field name="MDBookType" required="N"/>
      <field name="MDSubBookType" required="N"/>
      <field name="MarketDepth" required="N"/>
      <field name="MDFeedType" required="N"/>
      <field name="RefreshIndicator" required="N"/>
      <field name="TradeDate" required="N"/>
      <field name="MDStreamID" required="N"/>
      <component name="UndInstrmtGrp" required="N"/>
      <component name="InstrmtLegGrp" required="N"/>
      <field name="FinancialStatus" required="N"/>
      <field name="CorporateAction" required="N"/>
      <field name="NetChgPrevDay" required="N"/>
      <field name="ApplQueueDepth" required="N"/>
      <field name="ApplQueueResolution" required="N"/>
      <component name="RoutingGrp" required="N"/>
    </message>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tag appears more than once error for a MarketDataIncrementalRefresh

Grant Birchmeier
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Ah, great!  Glad you figured it out.

On Tue, Oct 20, 2015 at 9:38 AM, jimmy <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Thanks for all the replies! I could resolve it by now. I believe the main
error was that I created group entries (like in the X message) although I
should have just updated/created the definitions in the components (I didn't
know that components are just macros by quickfix/j) but I assume it must
have confused the application. I also recompiled quickfix/j, however I'm not
sure it was necessary. So I created new components for the X and W messages
and used these definitions instead of the groups - this was necessary so the
recompilation would work correctly.

    <component name="MDGrpBrokerW">
      <group name="NoMDEntries" required="Y">
        <field name="MDEntryType" required="Y"/>
        <field name="MDEntryID" required="N"/>
        <field name="MDEntryPx" required="N"/>
        <field name="MDEntrySize" required="N"/>
        <field name="MDEntryTime" required="N"/>
        <field name="QuoteID" required="N"/>
      </group>
    </component>

and then resulting in this definition for W messages:

<message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">

      <component name="MDGrpBrokerW" required="Y"/>
      <field name="MDReqID" required="N"/>
      <component name="Instrument" required="Y"/>
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="TotNumReports" required="N"/>
      <field name="MDReportID" required="N"/>
      <field name="ClearingBusinessDate" required="N"/>
      <field name="MDBookType" required="N"/>
      <field name="MDSubBookType" required="N"/>
      <field name="MarketDepth" required="N"/>
      <field name="MDFeedType" required="N"/>
      <field name="RefreshIndicator" required="N"/>
      <field name="TradeDate" required="N"/>
      <field name="MDStreamID" required="N"/>
      <component name="UndInstrmtGrp" required="N"/>
      <component name="InstrmtLegGrp" required="N"/>
      <field name="FinancialStatus" required="N"/>
      <field name="CorporateAction" required="N"/>
      <field name="NetChgPrevDay" required="N"/>
      <field name="ApplQueueDepth" required="N"/>
      <field name="ApplQueueResolution" required="N"/>
      <component name="RoutingGrp" required="N"/>
    </message>



--
View this message in context: http://quickfix-j.364392.n2.nabble.com/Tag-appears-more-than-once-error-for-a-MarketDataIncrementalRefresh-tp7579278p7579286.html
Sent from the QuickFIX/J mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.

------------------------------------------------------------------------------

_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...