Добрый день.
Проблема следующая - необходимо из ПО, написанного на 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) Какие еще есть варианты решения задачи?
Заранее благодарю за помощь.