ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (http://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   AutoGRAPH.Service (http://forum.tk-chel.ru/showthread.php?t=6907)

denisio 26.08.2017 05:19

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

zhenia 20.09.2017 07:58

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

Спасибо за оперативный ответ.
Подскажите ещё один момент, в документации говорится
Но при вызове по первому варианту сервис возвращает ошибку:
Цитата:

Ошибка
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

Кстати, формат данных возвращаемый GetTrack не соответствует описание в вики:
http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrack
Возможно ещё есть не соответствия, нужно искать и проверять... :flag_of_truce:

denisio 22.09.2017 04:27

Цитата:

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

Для чего не соответствует?
Нажмите для просмотра содержимого...


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

zhenia 22.09.2017 12:48

Цитата:

Сообщение от denisio (Сообщение 167739)
Цитата:

Сообщение от zhenia (Сообщение 167737)
Здравствуйте!
В вашей вики 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 *

Куда сообщить о данной проблеме?

denisio 25.09.2017 04:20

Цитата:

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

Уже сообщили. Проверил, да действительно, сервис standalone отдает CORS заголовки, а в Web не отдает. Добавлю, в следующей сборки.

zhenia 25.09.2017 11:50

Цитата:

Сообщение от denisio (Сообщение 167856)
Цитата:

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

Для чего не соответствует?
Нажмите для просмотра содержимого...

оно выглядит по другому для 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 для совместимости?

denisio 26.09.2017 05:30

[quote=zhenia;167994]
Цитата:

Сообщение от denisio (Сообщение 167856)
...
Цитата:

{
"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 для совместимости?
Вот это не понял.

zhenia 26.09.2017 06:21

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


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

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