RE: [Quickfix-developers] Resending Messages
Brought to you by:
orenmnero
|
From: Brad H. <Bra...@gb...> - 2006-03-22 22:36:21
|
Hi Steve,
=20
Here were the two messages:
Input Message -
8=3DFIX.4.4=019=3D171=0135=3DD=0149=3DSenderCompId=0156=3DTargetCompId=01=
11=3D183339=0122=3D8=0138=3D1
=0140=3D2=0144=3D12=0148=3DBHP=0154=3D2=0155=3DBHP=0159=3D1=0160=3D200602=
23-22:38:33=01526=3D3620=01453=3D2=01
448=3D8=01447=3DD=01452=3D4=01448=3DAAA35354=01447=3DD=01452=3D3=0110=3D1=
68=01
Message 2 -
8=3DFIX.4.4=019=3D171=0135=3DD=0149=3DSenderCompId=0156=3DTargetCompId=01=
11=3D183339=0122=3D8=0138=3D1
=0140=3D2=0144=3D12=0148=3DBHP=0154=3D2=0155=3DBHP=0159=3D1=0160=3D200602=
23-22:38:33=01526=3D3620=01453=3D2=01
447=3DD=01448=3D8=01452=3D4=01447=3DD=01448=3DAAA35354=01452=3D3=0110=3D1=
68=01
Thanks,
Brad
(on behalf of Belinda).
________________________________
From: qui...@li...
[mailto:qui...@li...] On Behalf Of
Steve Bate
Sent: Wednesday, 22 March 2006 7:47 PM
To: qui...@li...
Subject: RE: [Quickfix-developers] Resending Messages
Hello Belinda,
=20
This appears to be a different problem than Brad was having. Nested
groups are required to be
in order they they described in the specification. My understanding is
that the top level groups=20
are not required to be in any specific order.
=20
There are some strange orderings in the XML output, but it's probably a
side effect of
the XML formatter (which doesn't enforce either group or field ordering
for it's elements).=20
Can you provide the message strings (or at least the input message
string)? It would
help me to investigate the issue more quickly.
=20
Thanks,
=20
Steve Bate
=20
________________________________
From: qui...@li...
[mailto:qui...@li...] On Behalf Of
Belinda Ivkovic
Sent: Wednesday, March 22, 2006 2:23 AM
To: qui...@li...
Cc: Brad Harvey
Subject: [Quickfix-developers] Resending Messages
Hi Everyone,=20
We are having some problems resending messages when a resend
request is received. The error we are getting back is as follows -
58=3DREJECT Missing or invalid value for conditionally required
fields in PartyID repeating group.=20
I think the problem may be related to groups not getting copied
in the correct order when the message to be resent is created.
In Session#nextResendRequest the message is created via
'fromString' -=20
Message msg =3D new Message((String) messages.get(i),
dataDictionary);=20
We have done some unit tests to confirm that the order is
different when a message is created via 'fromString'. =20
Here is our validate method, -=20
private void validate(Message message) throws
InvalidMessage {=20
MessageFactory messageFactory =3D new
DefaultMessageFactory(); =20
String msgType =3D
MessageUtils.getMessageType(message.toString());=20
Message message2;=20
message2 =3D
messageFactory.create(dataDictionary.getVersion(), msgType);=20
message2.fromString(message.toString(),
dataDictionary, false);=20
System.out.println("Input Message - " +
message.toXML());=20
System.out.println("Message 2 - " +
message2.toXML());=20
}=20
And here is the output. The group fields are in different order
-=20
Input Message - <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>=20
<message>=20
<header>=20
<field number=3D"8"><![CDATA[FIX.4.4]]></field>=20
<field number=3D"9"><![CDATA[171]]></field>=20
<field number=3D"35"><![CDATA[D]]></field>=20
<field number=3D"49"><![CDATA[SenderCompId]]></field>=20
<field number=3D"56"><![CDATA[TargetCompId]]></field>=20
</header>=20
<body>=20
<field number=3D"11"><![CDATA[183339]]></field>=20
<field number=3D"22"><![CDATA[8]]></field>=20
<field number=3D"38"><![CDATA[1]]></field>=20
<field number=3D"40"><![CDATA[2]]></field>=20
<field number=3D"44"><![CDATA[12]]></field>=20
<field number=3D"48"><![CDATA[BHP]]></field>=20
<field number=3D"54"><![CDATA[2]]></field>=20
<field number=3D"55"><![CDATA[BHP]]></field>=20
<field number=3D"59"><![CDATA[1]]></field>=20
<field number=3D"60"><![CDATA[20060223-22:38:33]]></field>=20
<field number=3D"526"><![CDATA[3620]]></field>=20
<group>=20
<field number=3D"448"><![CDATA[8]]></field>=20
<field number=3D"447"><![CDATA[D]]></field>=20
<field number=3D"452"><![CDATA[4]]></field>=20
</group>=20
<group>=20
<field number=3D"448"><![CDATA[AAA35354]]></field>=20
<field number=3D"447"><![CDATA[D]]></field>=20
<field number=3D"452"><![CDATA[3]]></field>=20
</group>=20
</body>=20
<trailer>=20
<field number=3D"10"><![CDATA[168]]></field>=20
</trailer>=20
</message>=20
Message 2 - <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>=20
<message>=20
<header>=20
<field number=3D"8"><![CDATA[FIX.4.4]]></field>=20
<field number=3D"9"><![CDATA[171]]></field>=20
<field number=3D"35"><![CDATA[D]]></field>=20
<field number=3D"49"><![CDATA[SenderCompId]]></field>=20
<field number=3D"56"><![CDATA[TargetCompId]]></field>=20
</header>=20
<body>=20
<field number=3D"11"><![CDATA[183339]]></field>=20
<field number=3D"22"><![CDATA[8]]></field>=20
<field number=3D"38"><![CDATA[1]]></field>=20
<field number=3D"40"><![CDATA[2]]></field>=20
<field number=3D"44"><![CDATA[12]]></field>=20
<field number=3D"48"><![CDATA[BHP]]></field>=20
<field number=3D"54"><![CDATA[2]]></field>=20
<field number=3D"55"><![CDATA[BHP]]></field>=20
<field number=3D"59"><![CDATA[1]]></field>=20
<field number=3D"60"><![CDATA[20060223-22:38:33]]></field>=20
<field number=3D"453"><![CDATA[2]]></field>=20
<field number=3D"526"><![CDATA[3620]]></field>=20
<group>=20
<field number=3D"447"><![CDATA[D]]></field>=20
<field number=3D"448"><![CDATA[8]]></field>=20
<field number=3D"452"><![CDATA[4]]></field>=20
</group>=20
<group>=20
<field number=3D"447"><![CDATA[D]]></field>=20
<field number=3D"448"><![CDATA[AAA35354]]></field>=20
<field number=3D"452"><![CDATA[3]]></field>=20
</group>=20
</body>=20
<trailer>=20
<field number=3D"10"><![CDATA[168]]></field>=20
</trailer>=20
</message>=20
Has anyone else had any issue with this?=20
Any help is appreciated.=20
Regards,=20
Belinda=20
|