quickfixj icon indicating copy to clipboard operation
quickfixj copied to clipboard

`MessageFactory` returns null - `create(FIX5.0SP2, AE, 457)` instead of an instance of `NoUnderlyingSecurityAltId` group

Open ishabandi67 opened this issue 1 year ago • 1 comments

Describe the bug quickfix.fix50sp2.MessageFactory.create(FIX5.0SP2, AE, 457) returns null instead of an instance of NoUnderlyingSecurityAltId group

To Reproduce Create a simple Junit to call this method with the above mentioned parameters.

Expected behavior Add case "457" under case "AE" (L617) in the nested switch statements to make sure we return the correct instance because it's valid group for quickfix.fix50sp2.TradeCaptureReport.class i.e. it is clearly defined in FIX50SP2.xml

i.e. (TradeCaptureReport.UnderlyingInstrument.UndSecAltIDGrp.NoUnderlyingSecurityAltID)

system information:

  • OS: [Windows]
  • Java version [JDK17]
  • QFJ Version [2.3.1]

Additional context This issue doesn't seem to exist in fix44 or earlier. Possibly an issue with MessageFactory.xsl and how FIX50SP2 behaves due to the diff in session and app level messages.

Use case: we store fix messages in json format and while converting them back to TradeCaptureReport instance, we use MessageFactory.create(String beginString, String messageType, int correspondingFieldId) to create internal groups. The above bug, returns null and we currently handle it by just skipping the population of this group as it's not of any use to us currently.

ishabandi67 avatar Jun 07 '24 15:06 ishabandi67