1

I´m having the following error in my .Net application:

20170710-18:47:34.938 : Connection succeeded 20170710-18:47:34.940 : Initiated logon request 20170710-18:47:35.012 : Verify failed: Could not convert field: Could not convert string (20170710-18:47:34.979386) to DateTime: String was not recognized as a valid DateTime.

I want my application to support microseconds, currently I can send a LogOn msg but when I get the response, my App is not able to process the message. Actually, the received message doesn't appear in my Log nor does it trigger any of my events (FromAdmin, FromApp)

I've tried changing my Dictionary but I could not pull it off.

jAC
  • 5,195
  • 6
  • 40
  • 55
  • Question is not clear, plz see [ask] and [mcve]. – EJoshuaS - Stand with Ukraine Jul 10 '17 at 19:22
  • 4
    If you're parsing the string via `DateTime.Parse(string)` it will fail, since it's not one of the standard formats the method expects. Change it to `DateTime.ParseExact(dt, "yyyyMMdd - HH:mm:ss.ffffff", CultureInfo.InvariantCulture);` – jAC Jul 10 '17 at 19:31

2 Answers2

0

This was probably caused by a limitation in QuickFIXn which didn't used to support UTCTimeStamps with anything other than zero or three milliseconds.

This appears to have been fixed in March. (Though it still isn't quite inline with the protocol.)

You should be able to fix this by updating your version of QuickFIX.

Ej.
  • 5,429
  • 3
  • 18
  • 15
0

This is fixed in QuickFix/N version 1.8. You can download it here. Sadly isn't on NuGet yet.

RichardOD
  • 28,883
  • 9
  • 61
  • 81