[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)
{
}
}
}
|