Re: Атол-30Ф | |
---|---|
Victoriacom Сообщений: 111 Дата регистрации: 08.12.2010 |
Там есть куча примеров. Нужно только какой-нибудь из представленных языков знать (С, С++, С#...) А про 8.16...(и про 9ку) нужно забыть ВСЁ, что знали! В жизни это больше не пригодится. Всё, что ниже десятки, снимают с поддержки. Десятку изучать придется в принудительном порядке. Там совсем другой подход! Исправлено 4 раз(а). Последнее : Victoriacom, 18.03.19 17:48 |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Удовольствие еще то))) Коли воскресла эта тема. А кто то пробовал из фокса, с веб сервисом атола? Я попробовал, с лету, полный отлуп, С завидной регулярностью, получаю только статус 403 или 405 Т.е. даже не могу понять, работает сервис с кассой или нет. settings and about возвращают все что надо. Вот строка запроса {"uuid": "dcb697cc-3f2a-11e8-9113-0f05fcc9d7aa","request":[{"type":"getDeviceInfo"}]} Ясно что uuid в каждом случае конкретный Вот вариант, сформированный из MS SQL {"uuid":"8770B21A-CCCA-4A5B-B0E1-E1A3F9B07BCE","request":{"type":"getDeviceInfo"}} Исправлено 1 раз(а). Последнее : Аспид, 22.03.19 11:44 |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Продолжаю терзать веб сервис атола.
Решил написать кусочек на шарпе. Результат точно тот же! В Описании написано "Для добавления задания в очередь на выполнения необходимо отправить его POST-запросом на адрес hostname:16732, указав его уникальный идентификатор. В ответ сервер вернет код результата в виде HTTP-статуса." Так вот, requests в адресе, это адрес, или сам запрос?))) Ну все просто, пробую и так, и так.
Вроде как 403 ближе к цели. Просто у меня (у сервиса?) нет прав, для доступа к кассе. Куда двигаться, не понимаю. Через апи, все работает. Но хочется через веб сервис, больно они резко меняют подходы))) |
Re: Атол-30Ф | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Это не веб-сервис, это скорее ближе к REST API - не xml-и с Envelop-ами, а чистый и простой json - при том существенная часть инфы передаётся в url-е.
Если сказано отправлять запрос на url заканчивающийся на /requests/ то именно так и надо делать - а вовсе не к корневому ломиться - это ты по сути другой метод вызвать пытаешься. POST запрос это запрос с методом POST и телом запроса в... ну в теле запроса, даже не знаю как по другому сказать само тело запроса это json - т.е. текст того вида как в примере - 405 это ошибка "метод не разрешён" - там есть урл вида /settings или типа того (в инете пишут про это) через который надо настраивать сей веб-сервер и в т.ч. "разрешать" его работу (мне кажется это немного идиотизмом - разрешать работу веб-сервера заходя на страницу этого же веб-сервера - ну да разрабам виднее). Возможно дело как раз в том что у тебя "не разрешено" использовать этот вариант управления. ------------------ WBR, Igor |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
() бывает, что сервис возвращает разные коды ошибки (403, 405 и пр. не 200), но в ответе (в хидерах и в теле) лежит что-то полезное, например, инфа для повторного обращения к сервису, с которой он вернет то, что надо...
|
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Увы, как то там не однозначно. И написано не как у тебя, а ххх/requests , без конечного слеша. Возможно опечатка. Возможно. Но скорее, они по обыкновению.... "биип" ))) Простой эксперимент. Выключаю кассу, захожу на settings, ничего не меняется. Веб сервер, просто не показывает ни как, есть ли у него связь с кассой. Проверить наличие, можно только запросами... с которыми ничего не выходит( Странно, ведь у кого то работает, что не так?( Вообще, впечатление, веб сервер, просто не видит кассу. Неа. Ничего нет. Весь ответ смотрел. На фоксе код совсем простой. Может кто что заметит?
Дал 1с-нику. Есть готовые обработки, пусть попробует. Ежели что то выйдет, будем разбираться. Потому как сам я просто не знаю, что еще сделать. Конечно, можно просто через апи. Но задело))) |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
...User-Agent добавь какой-нибудь, бывает, что сервер без него отвечает какой-то ерундой
|
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
У меня же клиент. Я про сервер, кроме того, что он на жабе, и крутится как служба виндов, ничего и не знаю. И это не сайт, а веб сервис. Т.е. нормально, когда ему лишней инфы не шлют. Ну и заодно - не знаю как этот фейк сформировать и передать А потому, и думать в эту сторону, как то особо не вижу смысла) |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> На фоксе код совсем простой. Может кто что заметит?
Я не понял ответ, про "У меня же клиент. Я про сервер, кроме того, что он на жабе"... |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
И сам не пойму, что думал, когда это писал
Основное там, что не знаю как фейковый User-Agent создать. Да и тупо, как прописать его посылку, тоже не знаю))) Ну видимо в начале, были какие то мысли, по поводу того, что это вряд ли поможет. Хотел лаконично, получилось непонятно) |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Вот эту строчку если написал
http.SetRequestHeader("Content-Type", "application/json") , то добавь еще одну такую же про User-Agent, например: http.SetRequestHeader("User-Agent", "Mozilla/4.0") Ответы тоже надо смотреть не только в http.ResponseText, но и прочитать возвращенные заголовки: ? http.getResponseHeader("Content-Type") как посмотреть все возвращенные хидеры - не знаю, но снифферы как-то это делают Аа, вот как: getAllResponseHeaders() - возвращает набор строк (разделитель ВКПС), строки вида "имя_хидера: значение" Исправлено 4 раз(а). Последнее : of63, 25.03.19 15:17 |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Увы, Ничего не вышло.
вот код, модифицированный по Олегу)
тело
зы. Что заметил, только что. Content-Type: text/html;charset=iso-8859-1 а не UTF-8. Атол же, четко требует UTF-8. первые 256 у них совпадают, потому вроде как и все ок, но может здесь что то...? Или этот в чем закодирован ответ? Исправлено 1 раз(а). Последнее : Аспид, 26.03.19 08:28 |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Method Not Allowed
а какой метод не поддерживается? Вот этот? Может он неправильно записан (квадратные скобки какие-то...)? '{"uuid": "dcb697cc-3f2a-11e8-9113-0f05fcc9d7aa","request":[{"type":"getDeviceInfo"}]}' кстати, зачем фокусы с STRTOFILE? 4 - Добавит в начале файла UTF-8 Byte Order Mark (BOM) EF BB BF. При этом принимается, что cExpression в кодировке UTF-8,следовательно никакой перевод не выполняется. Файл будет переписан. |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
В json это указывает на массив. Хелп атола
Да на скорую руку слепил. разница=0 ))) Я ж просто возможности хотел протестировать. И тут сломался))) ps Попробовал послать любимое "qqq" в запросе. Ответ получил точно такой же! Попробовать закрыть смену... Там json сложный. из шарпа попробую. Исправлено 1 раз(а). Последнее : Аспид, 26.03.19 10:58 |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Снифернуть надо как-то рабочий обмен. Инструкция суха...
|
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вот и хочу, что бы из 1С попробовали.
Но у 1С-ника, руки никак не дойдут. А другого рабочего, в перспективе... тока мой)))) |
Re: Атол-30Ф | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Почему именно этот объект то? Не надо этого - BOM наверняка могут смутить сервер (для json стандарт говорит НЕ использовать BOM-символы). По сути только в файлах они и имеют смысл, чтобы открыв чёрт-те что за файл понять в какой он кодировке. Очевидно этого заголовка мало. Вряд ли сервер смотрит на user-agent, а вот на Content-Length и Accept вполне может обратить внимание. Кроме того, хотя это и неправильно, но попробуй в Content-Type дополнительно указать и кодировку - "application/json;charset=utf-8" ------------------ WBR, Igor |
Re: Атол-30Ф | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Неожиданный вопрос. А какой? Так уж сложилось, всегда его использую, для работы с сервисами. А что в нем не так? Я и на шарпе его же... может в нем что то?
И в шарпе указываю и длинну Попробовал, добавил http.SetRequestHeader("Accept-Charset","utf-8") Убрал BOM. Ничего. Результат тот же. |
Re: Атол-30Ф | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Msxml2.XMLHTTP или вообще голый WinInet АПИ (но это уже крайности). "От одного" это не "одно и то же". В дотнете помимо указанного есть ещё WebClient и HttpClient - а каждого свои особенности и плюсы/минусы определяющие сферу применения. Для "старых" клиентских приложений рекомендуют всё же Msxml2.XMLHTTP - он поверх стека IE (точнее WinInet) работает, подерживает прокси (в т.ч. авто-определение), куки... Я вообще-то ничего не говорил про заголовок Accept-Charset... Лучше у разработчиков уточнять что именно они ожидают - какие заголовки в частности. ------------------ WBR, Igor |
Re: Атол-30Ф | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
гыгы. На том конце, на "сервере", "сидят" такие же разработчики, как и вы и мы )
|
© 2000-2024 Fox Club  |