apache.servicemix.bundles.quickfix - 尝试创建独立的 NewOrderSingle 对象抛出异常

apache.servicemix.bundles.quickfix - Attempting to create standalone NewOrderSingle object throws exception

我正在尝试编写一个 class 用于将域 POJO 转换为 QuickFixJ 消息。当我尝试这样创建新订单消息时:

quickfix.fix44.NewOrderSingle order = new quickfix.fix44.NewOrderSingle();

日志中抛出以下异常:

Exception Details:
Location:
  quickfix/fix44/NewOrderSingle.get(Lquickfix/field/SettlType;)Lquickfix/field/SettlType; @2: invokevirtual
Reason:
Type 'quickfix/field/SettlType' (current frame, stack[1]) is not assignable to 'quickfix/CharField'
Current Frame:
  bci: @2
  flags: { }
  locals: { 'quickfix/fix44/NewOrderSingle', 'quickfix/field/SettlType' }
  stack: { 'quickfix/fix44/NewOrderSingle', 'quickfix/field/SettlType' }
Bytecode:
  0000000: 2a2b b600 3057 2bb0                    

似乎在尝试将两个版本的 Fix Message Fields 合并在一起时会发生此错误,但据我所知我没有这样做。我使用与 QuickFixJ unit tests A variation of the same code works in this example 中相同的代码,它是在通过启动器对象应用连接之后。我使用 apache.servicemix.bundles.quickfix 而不是 QuickFix-all.jar 因为它包含一些我需要添加到其他消息的字段。

我不确定为什么我不能调用对象的简单构造函数。 jar中的构造函数如下:

public NewOrderSingle()
{
   getHeader().setField(new MsgType("D"));
}

是否还有我没有想到的导致此错误的其他可能原因?我很难过

我遇到了这个问题,不得不恢复到 QuickFIX 1.5.2

根据用户组,这是一个已知问题。见附件问题...