我是 quickfix 和 java 的初学者。
通常当我想删除快速修复消息中的字段时,我使用带有标签作为参数的 removeField 方法,但这似乎不适用于 2 个自动生成的字段 - BodyLength(标签 9)和 CheckSum(标签 10 )。
例如,我创建了一条消息,然后打印。
System.out.println(message)
给
8=FIX.4.29=8635=149=WFSComp23452=20130613-21:45:22.28256=ClientComp1234109=default112=default10=067
然后我删除一个字段,比如标签号 8,使用以下内容
message.getHeader().removeField(8);
并再次打印,我得到
9=7435=149=WFSComp23452=20130613-22:06:32.81956=ClientComp1234112=default10=105
删除该字段的位置,但是当我尝试以相同的方式删除 9 标记时:
message.getHeader().removeField(9);
我打印时的输出产生相同的代码,但没有删除该字段:
9=7435 =149=WFSComp23452=20130613-22:06:32.81956=ClientComp1234112=default10=105
9场还在!
我的猜测是这是因为 quickfix 会自动生成 bodylength,但是你如何删除它呢?谢谢你。
快速修复链接: