2013-05-01 3 views
1

Quickfixn에 문제가 있으며 더 많은 경험을 가진 사람이 내가 직면 한 문제에 대해 밝힐 수 있기를 바랍니다. 어떤 이유로 태그를 반복하기 때문에 QuickFix 엔진에서 메시지가 거부됩니다 ... 태그를 반복하여 사용하도록 설정 했으므로 UseDataDictionary 플래그를 설정 파일에 설정했지만 메시지는 여전히 거부됩니다. 비슷한 문제가있는 사람이 있습니까?Quickfixn - 거부가 두 번 이상 나타납니다.

FIXT.1.1 8 = 9 = 35 = 421 AE 34 = 8 1,128 = 8 = 49 56 = XXX YYY 20130501-15 = 52 : 45 : 53 552

메시지는 I 같다 수용있어 11 = NOREF 826 = 0 78 = 1 79 = 디폴트 80 = 1000000.00 5967 = 12167800.00 453 = 4 448 = ITXT 452 = 3 447 = D 448 = 테스트 452 = 1 447 = D 448 = LMEB 452 = 16 447 = D 448 = FRTB 452 = 11 447 = D 571 = 6718487 150 = F 32 = 1000000.00 15 = USD 1056 = 12167800.00 31 = 12.1678 194 = 12.1678 195 = 0 64 = 20130503 63 = 0 60 = 20130501 -00 : 00 : 00 75 = 20130501 1057 = Y 460 = 4 167 = FOR 65 = SP 55 = USD/MXN 10 = 203

8 = FIXT.1.1 9 = 124 35 = 3 34 = 8 49 = XXX 52 = 20130501-15 : 45 : 54.209 56 = YYY 45 = 8 58 = 태그가 2 회 이상 나타난다. 371 = 448 372 = AE 373 = 13 10 =210

,

내 설정 파일은 다음과 같습니다

[DEFAULT] 
ConnectionType=initiator 
HeartBtInt=30 
ReconnectInterval=10 
SocketReuseAddress=Y 
FileStorePath=D:\Store 
FileLogPath=D:\Log 

[SESSION] 
BeginString=FIXT.1.1 
SenderCompID=XXX 
TargetCompID=YYY 
DefaultApplVerId = FIX.5.0SP1 
UseDataDictionary=Y 
AppDataDictionary=D:\Interface\FIX50SP1.xml 
StartDay=sunday 
StartTime=20:55:00 
EndTime=06:05:00 
EndDay=saturday 
SocketConnectHost=1.1.1.1 
SocketConnectPort=8443 

어떤 도움도 대단히 감사하겠습니다! 고맙습니다.

+0

흠. 구성이 좋아 보인다. 그 길은 확실합니까? 상대방이 귀하의 연금 국에없는 AE에 대한 모든 사용자 정의를 했습니까? 예를 들어 "5967"은 표준 태그가 아닙니다. 나는 파서를 던지는 것을 볼 수 있었다. –

+0

은 DataDictionary뿐만 아니라 AppDataDictionary이기도합니다. 아마도이 릴리스에서 원래 DD를 읽었으며 사용자 정의가 아닌 것입니다. – robthewolf

+0

@robthewolf - DataDictionary는 4.4 이전 버전입니다. FIX 5.0 대신 AppDataDictionary 및 TransportDataDictionary를 사용합니다. –

답변

1

종종 DataDictionary에 지정되지 않은 반복 그룹에 필드가 있기 때문에 이런 문제가 발생합니다. 파서는 필드를보고 반복 그룹이 종료되었다고 가정합니다. 마치 그룹의 일부가 아닌 것처럼 필드 분석을 계속합니다. 이 문맥에 중복 된 필드가 있으면 파서가 오류를보고합니다.

0

"잘못된"메시지를 처리해야하는 경우 FIX 데이터 사전 (D : \ Interface \ FIX50SP1.xml)을 필요에 맞게 복제하고 수정할 수 있습니다. 또는 메시지 유효성 검사를 비활성화 할 수 있습니다.