26.08.2017, 05:19
|
| »»» |
#1
|
Опытный пользователь
Регистрация: 11.01.2011
Сообщений: 2,773
|
AutoGRAPH.Service
тут вопросы по AutoGRAPH Service API
Последний раз редактировалось SK; 26.09.2017 в 05:43.
|
|
|
|
20.09.2017, 12:00
|
| »»» |
#3
|
Начинающий
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
|
Спасибо за оперативный ответ.
Подскажите ещё один момент, в документации говорится
Но при вызове по первому варианту сервис возвращает ошибку:
Цитата:
|
Ошибка
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 ?
|
|
|
|
20.09.2017, 14:27
|
| »»» |
#4
|
Начинающий
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
|
Кстати, формат данных возвращаемый GetTrack не соответствует описание в вики:
http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrack
Возможно ещё есть не соответствия, нужно искать и проверять...
|
|
|
|
22.09.2017, 04:27
|
| »»» |
#5
|
Опытный пользователь
Регистрация: 11.01.2011
Сообщений: 2,773
|
Для чего не соответствует?
Нажмите для просмотра содержимого...
оно выглядит по другому для 1С, потому что она не поддерживает Dictionary<K,V>, но для WCF и JSON оно выглядит как написано в вики.
|
|
|
|
22.09.2017, 12:48
|
| »»» |
#6
|
Начинающий
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
|
Сообщение от denisio
|
По протоколам WCF и SOAP сервис может предоставлять метаданные о методах и их параметрах. По протоколу JSON такой информации нет. Поэтому запросы пишутся согласно вики ( пример )
|
Есть нюанс, который, почему то WebMap игнорирует - CORS.
Данные по API JSON можно получить только из нативного ПО (например 1С), но нельзя достать из браузера (или из скриптов поля HTML той же 1С).
Причина в том что сервер не уведомляет клиент о том что с домен клиента может получиться данные с домена сервера по средством добавления HTTP Header: Access-Control-Allow-Origin *
Куда сообщить о данной проблеме?
|
|
|
|
25.09.2017, 04:20
|
| »»» |
#7
|
Опытный пользователь
Регистрация: 11.01.2011
Сообщений: 2,773
|
Сообщение от zhenia
|
Есть нюанс, который, почему то WebMap игнорирует - CORS.
Данные по API JSON можно получить только из нативного ПО (например 1С), но нельзя достать из браузера (или из скриптов поля HTML той же 1С).
Причина в том что сервер не уведомляет клиент о том что с домен клиента может получиться данные с домена сервера по средством добавления HTTP Header: Access-Control-Allow-Origin *
Куда сообщить о данной проблеме?
|
Уже сообщили. Проверил, да действительно, сервис standalone отдает CORS заголовки, а в Web не отдает. Добавлю, в следующей сборки.
|
|
|
|
25.09.2017, 11:50
|
| »»» |
#8
|
Начинающий
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
|
Сообщение от denisio
|
Для чего не соответствует?
Нажмите для просмотра содержимого...
оно выглядит по другому для 1С, потому что она не поддерживает Dictionary<K,V>, но для WCF и JSON оно выглядит как написано в вики.
|
В документации формат запроса указан такой:
Но эти варианты не работают, вместо этого принимается:
Цитата:
|
: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 для совместимости?
|
|
|
|
26.09.2017, 05:30
|
| »»» |
#9
|
Опытный пользователь
Регистрация: 11.01.2011
Сообщений: 2,773
|
[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 для совместимости?
|
Вот это не понял.
|
|
|
|
26.09.2017, 06:21
|
| »»» |
#10
|
Начинающий
Белгород, ЦПС
Регистрация: 20.09.2017
Сообщений: 6
|
Формат возвращаемых данных у АвтоГРАФ.NET Service отличается от того что возвращает WebMap 5 - примеры и приведены выше.
Примеры в вике соответствую формату сервиса, в том числе и формат записи даты (кстати, правильнее использовать стандартный формат сериализации даты в json, как мне кажется).
И вопрос в том, будет ли обновляться сервис, что бы соответствовать изменениям в форматах наблюдаемым в WebMap?
|
|
|
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 11:22. Часовой пояс GMT.
|
|