[Quickfix-users] message rejected: required tag missing (with user-defined tag)
Brought to you by:
orenmnero
From: George M. C. <ge...@qu...> - 2005-04-29 13:21:53
|
I have defined several user-defined tags, the type-safe way, in c#. You will find the definitions inlined below. There is one tag that causes a rejection required tag missing error when the target tries to ACK my new orders - that tag is IdTrade, seen in the code snippet directly below. None of the other user-defined tags causes this error. When I comment out the code that sets idTrade, the error goes away. What is different about that tag? I even changed its tag number, and tried changing the order in which I set the fields, and the issue still happens. How does a user-defined tag become to be considered a required tag by quickfix??? //custom fields IdTrade idTrade = new IdTrade( tr.idTRADE ); order.setField( idTrade ); WTR1 wtr1 = new WTR1( (double)tr.WTR_1 ); order.setField( wtr1 ); Eliq1 eliq1 = new Eliq1( (double)tr.ELiq_1 ); order.setField( eliq1 ); Signal signal = new Signal( tr.Signal ); order.setField( signal ); DWRPV0 dwrpv0 = new DWRPV0( (double)tr.DWRPV0 ); order.setField( dwrpv0 ); DWRPV1 dwrpv1 = new DWRPV1( (double)tr.DWRPV_1 ); order.setField( dwrpv1 ); V61 v61 = new V61( (double)tr.V_6_1 ); order.setField( v61 ); ////////custom field definitions namespace QuickFix { //5823 - 5889 are unclaimed fields ACCORDING TO fixprotocol.org public class WTR1 : DoubleField { public WTR1() : base(5823) { } public WTR1(double data) : base(5823, data) { } } public class Eliq1 : DoubleField { public Eliq1() : base(5824) { } public Eliq1(double value) : base(5824, value) { } } public class V61 : DoubleField { public V61() : base(5825) { } public V61(double value) : base(5825, value) { } } public class Signal : DoubleField { public Signal() : base(5826) { } public Signal(double value) : base(5826, value) { } } public class DWRPV0 : DoubleField { public DWRPV0() : base(5827) { } public DWRPV0(double value) : base(5827, value) { } } public class DWRPV1 : DoubleField { public DWRPV1() : base(5828) { } public DWRPV1(double value) : base(5828, value) { } } public class IdTrade : DoubleField { public IdTrade() : base(5829) { } public IdTrade(double data) : base(5829, data) { } } } |