Ответ
 
Опции темы
Старый 26.08.2017, 05:19    | »»» |  #1
denisio
ТехноКом
 
Аватар для denisio
 
Регистрация: 11.01.2011
Сообщений: 2,700
denisio is on a distinguished road
Отправить сообщение для denisio с помощью Skype™
По умолчанию AutoGRAPH.Service

тут вопросы по AutoGRAPH Service API

ООО «ТехноКом», г. Челябинск
Балашов Денис Александрович - Программист (WEB-интерфейс, кейген-БД, диспетчерское ПО «АвтоГРАФ» .NET)

Последний раз редактировалось SK; 26.09.2017 в 05:43.
denisio вне форума   Ответить с цитированием
Старый 20.09.2017, 07:58    | »»» |  #2
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
По умолчанию AutoGRAPH.Service

Здравствуйте!

В вашей вики http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service
Говорится, что начиная с версий 2015.12.х, WebMap также предоставляет API AutoGRAPH.NET Service

Но у получается так, что работает 1й и 3й пути, а необходимый 2й не работает:

1) WCF: http://имя-веб-сервера/ServiceWCF.svc
2) JSON: http://имя-веб-сервера/ServiceJSON
3) SOAP (для 1C) http://имя-веб-сервера/Service1C.asmx (с версии 2016.11.29)

Для 2го пути необходимы особые настройки?
zhenia вне форума   Ответить с цитированием
Старый 20.09.2017, 12:00    | »»» |  #3
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
По умолчанию

Спасибо за оперативный ответ.
Подскажите ещё один момент, в документации говорится
Цитата:
http://localhost:8300/EnumDevices/Demo
http://localhost:8300/EnumDevices?schemaID=Demo
Но при вызове по первому варианту сервис возвращает ошибку:
Цитата:
Ошибка
Controller MapK.Controllers.ServiceJSONController
Action ?
Ошибка System.ArgumentNullException
Text
Значение не может быть неопределенным. Имя параметра: String
Stack trace
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
MapK.Controllers.ServiceJSONController.Exec[T](String schemaID, RoleRights[] requiredRights, Func`2 handler, String logFormat, Object[] values)
MapK.Controllers.ServiceJSONController.EnumDevices (String schemaID)
lambda_method(Closure , ControllerBase , Object[] )
System.Web.Mvc.ReflectedActionDescriptor.Execute(C ontrollerContext controllerContext, IDictionary`2 parameters)
System.Web.Mvc.ControllerActionInvoker.InvokeActio nMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
System.Web.Mvc.Async.AsyncControllerActionInvoker. b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsy ncResult`2.CallEndDelegate(IAsyncResult asyncResult)
System.Web.Mvc.Async.AsyncControllerActionInvoker. EndInvokeActionMethod(IAsyncResult asyncResult)
System.Web.Mvc.Async.AsyncControllerActionInvoker. AsyncInvocationWithFilters.b__3d()
System.Web.Mvc.Async.AsyncControllerActionInvoker. AsyncInvocationWithFilters.<>c__DisplayClass46.b__ 3f()
System.Web.Mvc.Async.AsyncControllerActionInvoker. EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
System.Web.Mvc.Async.AsyncControllerActionInvoker. <>c__DisplayClass21.<>c__DisplayClass2b.b__1c()
System.Web.Mvc.Async.AsyncControllerActionInvoker. <>c__DisplayClass21.b__1e(IAsyncResult asyncResult)
Первый вариант в не поддерживается WebMap ?
zhenia вне форума   Ответить с цитированием
Старый 20.09.2017, 14:27    | »»» |  #4
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
По умолчанию

Кстати, формат данных возвращаемый GetTrack не соответствует описание в вики:
http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrack
Возможно ещё есть не соответствия, нужно искать и проверять...
zhenia вне форума   Ответить с цитированием
Старый 22.09.2017, 04:27    | »»» |  #5
denisio
ТехноКом
 
Аватар для denisio
 
Регистрация: 11.01.2011
Сообщений: 2,700
denisio is on a distinguished road
Отправить сообщение для denisio с помощью Skype™
По умолчанию

Сообщение от zhenia Посмотреть сообщение
Кстати, формат данных возвращаемый GetTrack не соответствует описание в вики:
http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrack
Возможно ещё есть не соответствия, нужно искать и проверять...
Для чего не соответствует?
Нажмите для просмотра содержимого...


оно выглядит по другому для 1С, потому что она не поддерживает Dictionary<K,V>, но для WCF и JSON оно выглядит как написано в вики.

ООО «ТехноКом», г. Челябинск
Балашов Денис Александрович - Программист (WEB-интерфейс, кейген-БД, диспетчерское ПО «АвтоГРАФ» .NET)
denisio вне форума   Ответить с цитированием
Старый 22.09.2017, 12:48    | »»» |  #6
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
Exclamation

Сообщение от denisio Посмотреть сообщение
Сообщение от zhenia Посмотреть сообщение
Здравствуйте!
В вашей вики http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service
Говорится, что начиная с версий 2015.12.х, WebMap также предоставляет API AutoGRAPH.NET Service
Но у получается так, что работает 1й и 3й пути, а необходимый 2й не работает:
1) WCF: http://имя-веб-сервера/ServiceWCF.svc
2) JSON: http://имя-веб-сервера/ServiceJSON
3) SOAP (для 1C) http://имя-веб-сервера/Service1C.asmx (с версии 2016.11.29)
Для 2го пути необходимы особые настройки?
По протоколам WCF и SOAP сервис может предоставлять метаданные о методах и их параметрах. По протоколу JSON такой информации нет. Поэтому запросы пишутся согласно вики ( пример )
Есть нюанс, который, почему то WebMap игнорирует - CORS.
Данные по API JSON можно получить только из нативного ПО (например 1С), но нельзя достать из браузера (или из скриптов поля HTML той же 1С).

Причина в том что сервер не уведомляет клиент о том что с домен клиента может получиться данные с домена сервера по средством добавления HTTP Header: Access-Control-Allow-Origin *

Куда сообщить о данной проблеме?
zhenia вне форума   Ответить с цитированием
Старый 25.09.2017, 04:20    | »»» |  #7
denisio
ТехноКом
 
Аватар для denisio
 
Регистрация: 11.01.2011
Сообщений: 2,700
denisio is on a distinguished road
Отправить сообщение для denisio с помощью Skype™
По умолчанию

Сообщение от zhenia Посмотреть сообщение
Есть нюанс, который, почему то WebMap игнорирует - CORS.
Данные по API JSON можно получить только из нативного ПО (например 1С), но нельзя достать из браузера (или из скриптов поля HTML той же 1С).
Причина в том что сервер не уведомляет клиент о том что с домен клиента может получиться данные с домена сервера по средством добавления HTTP Header: Access-Control-Allow-Origin *
Куда сообщить о данной проблеме?
Уже сообщили. Проверил, да действительно, сервис standalone отдает CORS заголовки, а в Web не отдает. Добавлю, в следующей сборки.

ООО «ТехноКом», г. Челябинск
Балашов Денис Александрович - Программист (WEB-интерфейс, кейген-БД, диспетчерское ПО «АвтоГРАФ» .NET)
denisio вне форума   Ответить с цитированием
Сказал «Я - ЗА»:
zhenia (25.09.2017)
Старый 25.09.2017, 11:50    | »»» |  #8
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
Exclamation

Сообщение от denisio Посмотреть сообщение
Сообщение от zhenia Посмотреть сообщение
Кстати, формат данных возвращаемый GetTrack не соответствует описание в вики:
http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrack
Возможно ещё есть не соответствия, нужно искать и проверять...
Для чего не соответствует?
Нажмите для просмотра содержимого...

оно выглядит по другому для 1С, потому что она не поддерживает Dictionary<K,V>, но для WCF и JSON оно выглядит как написано в вики.
В документации формат запроса указан такой:
Цитата:
http://localhost:8300/GetTrack/Demo/...0150413-2359/0
http://localhost:8300/GetTrack/Demo/...0150413-2359/0
Но эти варианты не работают, вместо этого принимается:
Цитата:
:80/ServiceJSON/GetTrack?schemaID=...&IDs=...&SD=20170925-0000&ED=20170925-2359&tripSplitterIndex=-1&session=..
Кроме того, в ответ приходит Json такой структуры
https://yadi.sk/i/FSwguHqJ3NCfHc (не увидел как загрузить сюда картинки)
Цитата:
{
"12345678-90ab-cde1-2345-67890abcde12": [{
"Index": 0,
"DT": ["2017-09-24T21:00:25Z"],
"Speed": [0.0],
"Lat": [55.616285859478552],
"Lng": [48.345182434873657]
}]
}
А в документации указана несколько другая:
https://yadi.sk/i/PWWoVq4W3NCfY4
Цитата:
[{
"Key": "25f86189-adc9-445d-940c-abf860874622",
"Value": [{
"DT": ["\/Date(1428865236000)\/"]
"Index": 0,
"Lat": [56.029678333333337],
"Lng": [44.541495000000005],
"Speed": [70.734414338789634]
}]
}]
Кстати, при отличной от 0 скорости так же приходит куча знаков после запятой - зачем? Они не несут ни какого смысла, а только увеличивают размер JSON.
Я не спорю, возможно для АвтоГРАФ.NET результат действительно соответствует вики, но WebMap возвращает вроде бы то же, но чутка в другом формате.
Кстати, в АвтоГРАФ.NET формат останется описанными в вики, или будет подтянут к WebMap для совместимости?
zhenia вне форума   Ответить с цитированием
Старый 26.09.2017, 05:30    | »»» |  #9
denisio
ТехноКом
 
Аватар для denisio
 
Регистрация: 11.01.2011
Сообщений: 2,700
denisio is on a distinguished road
Отправить сообщение для denisio с помощью Skype™
По умолчанию

[quote=zhenia;167994]
Сообщение от denisio Посмотреть сообщение
...
Цитата:
{
"12345678-90ab-cde1-2345-67890abcde12": [{
"Index": 0,
"DT": ["2017-09-24T21:00:25Z"],
"Speed": [0.0],
"Lat": [55.616285859478552],
"Lng": [48.345182434873657]
}]
}
А в документации указана несколько другая:
https://yadi.sk/i/PWWoVq4W3NCfY4
Цитата:
[{
"Key": "25f86189-adc9-445d-940c-abf860874622",
"Value": [{
"DT": ["\/Date(1428865236000)\/"]
"Index": 0,
"Lat": [56.029678333333337],
"Lng": [44.541495000000005],
"Speed": [70.734414338789634]
}]
}]
Формат сериализации даты/времени используется microsoftовый, насколько я помню. Проверю.

Цитата:
Кстати, при отличной от 0 скорости так же приходит куча знаков после запятой - зачем? Они не несут ни какого смысла, а только увеличивают размер JSON.
Я не спорю, возможно для АвтоГРАФ.NET результат действительно соответствует вики, но WebMap возвращает вроде бы то же, но чутка в другом формате.
Дробные числа так рассчитываются и сериализуются.

Цитата:
Кстати, в АвтоГРАФ.NET формат останется описанными в вики, или будет подтянут к WebMap для совместимости?
Вот это не понял.

ООО «ТехноКом», г. Челябинск
Балашов Денис Александрович - Программист (WEB-интерфейс, кейген-БД, диспетчерское ПО «АвтоГРАФ» .NET)
denisio вне форума   Ответить с цитированием
Старый 26.09.2017, 06:21    | »»» |  #10
zhenia
Начинающий
 
Аватар для zhenia
 
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
zhenia is on a distinguished road
Question

Формат возвращаемых данных у АвтоГРАФ.NET Service отличается от того что возвращает WebMap 5 - примеры и приведены выше.
Примеры в вике соответствую формату сервиса, в том числе и формат записи даты (кстати, правильнее использовать стандартный формат сериализации даты в json, как мне кажется).
И вопрос в том, будет ли обновляться сервис, что бы соответствовать изменениям в форматах наблюдаемым в WebMap?
zhenia вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:42. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot