I have a quickfixj listener which should consume FIX50SP2 messages. I'm using DefaultMessageFactory with no parameters(means ApplVerId is 9 by default). You can see the settings below.
session.properties
[SESSION]
BeginString=FIXT.1.1
TargetCompID=FIX_TEST
StartDay=sunday
EndDay=friday
StartTime=21:35:00
EndTime=21:30:00
HeartBtInt=30
CheckLatency=N
SocketConnectPort=port
SocketConnectHost=ip
DefaultApplVerID=FIX.5.0SP2
UseDataDictionary=Y
DataDictionary=config/plugins/RData/RDataFIX50sp2.xml
FileStorePath=logs/plugins/RData/Client_Seq_Store
TransportDataDictionary=config/plugins/RData/FIXT11.xml
AppDataDictionary=config/plugins/RData/RDataFIX50sp2.xml
Pom.xml Related Dependencies
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-core</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix50sp2</artifactId>
<version>2.3.1</version>
</dependency>
PluginApp.java
SessionSettings sessionSettings = new SessionSettings(this.sessionSettingsFilePath);
FileStoreFactory fileStoreFactory = new FileStoreFactory(sessionSettings);
ScreenLogFactory screenLogFactory = new ScreenLogFactory(sessionSettings);
FileLogFactory fileLogFactory = new FileLogFactory(sessionSettings);
LogFactory[] logFactoryArr = {screenLogFactory, fileLogFactory};
DefaultMessageFactory defaultMessageFactory = new DefaultMessageFactory();
CompositeLogFactory compositeLogFactory = new CompositeLogFactory(logFactoryArr);
this.initiator = new SocketInitiator(fixApp, fileStoreFactory, sessionSettings, compositeLogFactory, defaultMessageFactory);
this.initiator.start();
FIXApplication50.java related methods
public void onMessage(SecurityDefinitionUpdateReport rData, SessionID sessionID) {}
public void onMessage(SecurityDefinition rData, SessionID sessionID) {}
public void fromApp(Message message, SessionID sessionId)
throws FieldNotFound, IncorrectTagValue, UnsupportedMessageType {
crack(message, sessionId);
}
Problem is messages coming as FIX50. With these settings my engine sending Unsupported Message Type message to the counterparty for all message types. I tried with full classnames in onMessage parameters. When I add FIX50 message dependencies to the pom, onMessage methods work but this leads me an unsolvable error. I'm expecting messages as FIX50SP2. The whole configuration was made for it. Do you have any idea?
EDIT 1
Incoming Fix Message Sample(Couldn't share full message because confidentiality)
8=FIXT.1.19=006435=d49=FOO_TEST56=FOO34=542957=BAR52=20220408-13:23:13.40110=053