PDA

Просмотр полной версии : Работа с R-Keeper 7 из Java



HappyCat
05.11.2014, 11:11
Добрый день.
Проблема следующая - необходимо из ПО, написанного на Java, получать информацию об отбитии чека. Из вариантов доступа к R-Keeper 7 есть только XML-интерфейс под паролем.
Пробовал из Java с помощью Java Native Access вызывать CallRK7XMLRPC2 из RK7XML.dll, но Java-машина при вызове завершает работу с Access Violation, да и эта функция сохраняет результат в файл, что не лучший вариант. С этой же функцией с IStream в качестве параметров Java Native Access работать не умеет.
Пробовал напрямую подключаться через сокет к XML-интерфейсу и посылать в него XML-запросы в виде текста, например


<?xml version="1.0" encoding="windows-1251"?>
<RK7Query>
<RK7CMD CMD="GetReceipts"/>
</RK7Query>

но после отсылки запроса Keeper просто закрывает соединение, полагаю, из-за пароля на интерфейсе.
Собственно, поэтому интересуют следующие вопросы:
1) Существует-ли вообще в R-Keeper подписка на события? Если нет - как можно получать информацию об отбитии чека?
2) Как правильно работать с XML-интерфейсом под паролем?
3) Какие еще есть варианты решения задачи?
Заранее благодарю за помощь.

Эркипер Сторехаусович
09.11.2014, 21:49
- какой XML интерфейс вы имеете ввиду? он есть на сервере отчетов / кассовом сервере / кассе.
- если это XML интерфейс кассового сервера то пароль (Crypt Key) можно не заводить. Это необязательное поле при создании интерфейса.

belovchanin
10.11.2014, 12:55
А не проще с SQL server работать? а там уже подстроить что нужно, у того java клиента есть же база - выбирай selectом данные и смотри.

mnekin
10.11.2014, 21:44
А не проще с SQL server работать? а там уже подстроить что нужно, у того java клиента есть же база - выбирай selectом данные и смотри.
midserver работает с udb, так что без вариантов, только XML