kmlebedev / txmlconnector

grpc wrapper for transaq connector written on GO
33 stars 19 forks source link

Команда get_option_families падает с Insufic #12

Closed yarigpopov closed 1 year ago

yarigpopov commented 1 year ago

Здравствуйте! Классная библиотека, спасибо вам за разработку.

Я пробую в ней добраться до доски опционов, но получаю ошибку после отправки команды на сервере Insufficient buffer Вот так создаю команду:

func sendCmd() error {
    encodedMessage := `<command id="get_option_families"><security><board>FUT</board><seccode>RIZ3</seccode></security></command>`
    // encodedMessage := `<command id="gethistorydata"><security><board>FUT</board><seccode>RIZ3</seccode></security><period>1</period><count>10</count><reset>true</reset></command>`
    request := &pb.SendCommandRequest{Message: encodedMessage}
    response, err := pbClient.SendCommand(ctx, request)
    if err != nil {
        log.Error("SendCommand: ", err)
    }
    return nil
}

Если отправляю вместо этого gethistorydata (закоментированная строка) или какую-нибудь другую команду, то все работает, получаю success.

Не подскажите, с чем это может быть связано?

В логе _xdf вижу такую ошибку

131345.436300 [0296] [0372] <cmd> [I] <command id="get_option_families"><security><board>FUT</board><seccode>RIZ3</seccode></security></command>
131345.597192 [0296] [0372] <res> [R] <result success="false"><message>[231]�������������� ������ �������� ����������</message></result>

Прилагаю еще полный лог сервера

MacBook-Pro:txmlconnector jaroslav$ make server
CGO_ENABLED=1 CC="x86_64-w64-mingw32-gcc" CXX="x86_64-w64-mingw32-g++" GOOS=windows GOARCH=amd64 go build -ldflags "-extldflags -static -s -w" -o bin/server.exe main.go
mkdir -p logs
wine64 bin/server.exe
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
preloader: Warning: failed to reserve range 0000000000010000-0000000000110000
0024:fixme:process:SetProcessPriorityBoost (FFFFFFFFFFFFFFFF,1): stub
0024:fixme:powrprof:PowerRegisterSuspendResumeNotification (0x00000002,000000000031FC30,000000000031FC18) stub!
time="2023-11-26T12:28:38+03:00" level=info msg="Initialize module: txmlconnector64-6.32.2.21.23.dll"
InitCrashHandler: Z:\Users\jaroslav\Repos\txmlconnector\bin\server-231126-122838.mdmp
0114:fixme:ver:GetCurrentPackageId (0000000028FCFE10 0000000000000000): stub
time="2023-11-26T12:28:38+03:00" level=info msg="Server running ..."
time="2023-11-26T12:28:38+03:00" level=info msg="Press CRTL+C to stop the server..."
time="2023-11-26T12:30:15+03:00" level=info msg="txmlSendCommand() Call: <command id=\"connect\"><login>****</login><password>****</password><host>t
r1.finam.ru</host><port>3900</port><rqdelay>100</rqdelay><session_timeout>60</session_timeout><request_timeout>10</request_timeout><push_u_limits>30</push_u_l
imits><push_pos_equity>30</push_pos_equity></command>"
time="2023-11-26T12:30:16+03:00" level=info msg="SendCommand Data: <result success=\"true\"/>"
0120:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0124:fixme:sync:SetWaitableTimerEx (00000000000002AC, 0000000029C8F440, 0, 0000000000000000, 0000000000000000, 0000000000000000, 1499) semi-stub
time="2023-11-26T12:30:18+03:00" level=info msg="txmlSendCommand() Call: <command id=\"get_option_families\"><security><board>FUT</board><seccode>RIZ3</seccod
e></security></command>"
time="2023-11-26T12:30:18+03:00" level=error msg="txmlSendCommand() Insufficient buffer."
yarigpopov commented 1 year ago

Я расшифровал эту наскальную надпись.

172051.384921 [0544] [0640] <res> [R] <result success="false"><message>[231]Информационный сервис опционов недоступен</message></result>

Похоже на ограничение на мой счет. Напишу в поддержку

kmlebedev commented 1 year ago

Я расшифровал эту наскальную надпись.

172051.384921 [0544] [0640] <res> [R] <result success="false"><message>[231]Информационный сервис опционов недоступен</message></result>

Похоже на ограничение на мой счет. Напишу в поддержку

Наверно квала нужно получать и опционы могут только парой продавать.