1

WialonHosting Ошибка 4

(26/12/2017 06:49:41 отредактировано Sirius)

Тема: WialonHosting Ошибка 4

Всем доброго утра.
Прошу помочь разобраться с ошибкой 4 при запросе на Wialon Hosting
http://hst-api.wialon.com/wialon/ajax.html?svc=report/exec_report&params={"reportResourceId":12694613,"reportTemplateId":5,"reportObjectId":12661753,"reportObjectSecId":0,"interval":{"from":1444268522,"to":1514253256,"flags":0}}&sid=0413783090708c63c50b103966026b26

Когда-то такой запрос работал. Что тут может быть не так?

2

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

Sirius, если выполнять Ваш запрос так, как он записан - то всё выполняется как надо.
Но если перейти по ссылке -  в ответе ошибка 4.
Разница в том, что во втором случае вместо кавычек параметры обрамлены слэшами. Из-за этого и ошибка.

Solutions Department
Gurtam
3

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

deal пишет:

Sirius, если выполнять Ваш запрос так, как он записан - то всё выполняется как надо.
Но если перейти по ссылке -  в ответе ошибка 4.
Разница в том, что во втором случае вместо кавычек параметры обрамлены слэшами. Из-за этого и ошибка.

То что перейти по ссылке, это видимо из-ха того что движок сайта слеши подавляет, а адрес я как раз то и скопировал из браузера, где проверял результат работы программы.
Ради эксперимента сделал как вы сказали, скопировал ссылку ту что указал ниже, заменил только sid на действующий и выдался тот же результат, ошибка 4.
Может можно как-то узнать где-то, по логам, что ведет к такой ошибке?

4

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

Sirius, в этом ресурсе вообще нету шаблонов отчётов, а в запрос передаётся reportTemplateId 5. Поэтому и ругается.

Solutions Department
Gurtam
5

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

deal пишет:

Sirius, в этом ресурсе вообще нету шаблонов отчётов, а в запрос передаётся reportTemplateId 5. Поэтому и ругается.

Уже ближе к делу.
Давай копаться в ID ресурсов, и увидел, что на запрос ID приходит ответ:

{"searchSpec":{"itemsType":"avl_resource","propName":"sys_name","propValueMask":"*","sortType":"sys_name","propType":"","or_logic":"0"},"dataFlags":1,"totalItemsCount":2,"indexFrom":0,"indexTo":0,"items":
        [{"nm":"Геозоны","cls":3,"id":12694XXX,"mu":0,"uacl":391119617},
         {"nm":"Стройсервис-СГ ООО","cls":3,"id":12672XXX,"mu":0,"uacl":391119617}]}
ID я на всякий случай подкорректировал.

Так вот, тогда возникает вопрос, что тут делают Геозоны и как их можно отсюда убрать?

6

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

Sirius, Геозоны это ресурс, на который есть права у текущего пользователя.
В нём всё же есть пару шаблонов отчётов, но нету шаблона с id 5. Поэтому запрос не выполняется.
Возможно проблема в том, что раньше на ваш запрос core/search_items возвращался только один ресурс с именем Стройсервис-СГ ООО.
И в коде из ответа брался первый и единственный ресурс и относительно его выполнялся запрос на выполнение отчёта.
В этом ресурсе кстати есть шаблон с id 5.
Но позже был создан ресурс или даже учётка Геозоны. Текущий пользователь был создателем либо он полчил права на этот ресурс и теперь на запрос получения ресурсов приходит 2 ресурса и первым оказывается ресурс Геозоны. В коде он благополучно берётся первым и относительно него выполняется отчёт.

Solutions Department
Gurtam
7

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

deal пишет:

Sirius,
Текущий пользователь был создателем либо он полчил права на этот ресурс и теперь на запрос получения ресурсов приходит 2 ресурса и первым оказывается ресурс Геозоны. В коде он благополучно берётся первым и относительно него выполняется отчёт.

Да, это я уже понял, вопрос в другом, можно ли какими то средствами его убрать ресурс Геозон из core/search_items?
Потому как к названию организации привязываться не вариант, а больше никакими другими средствами отличить один ресурс от другого невозможно, или может быть можно иным методом получить ID ресурса организации?

8

WialonHosting Ошибка 4

(28/12/2017 15:05:10 отредактировано deal)

Re: WialonHosting Ошибка 4

Sirius, есть разные способы сократить список получаемых ресурсов.
Кардинальный, но не факт что правильный - это забрать у текущего пользователя права на этот ресурс.
Тут недостаточно информации как Вы этим пользуетесь. Это выполняется только для одного конкретного пользователя или для разных пользователей должен браться свой ресурс и относительно него выполняться конкретный отчёт?
Каким пользователем Вы авторизуетесь?
Если же Вам нужен конкретный ресурс, создателем которого является текущий пользователь - Вы можете искать только созданные этим пользователем ресурсы (подав в propName sys_user_creator, а в propValueMask id текущего пользователя). Можно отфильтровать по другим критериям, полный список тут.
Также у текущего пользователя можно взять свойство accountId (bact). Это id учётки. вероятнее всего это и будет id искомого ресурса.
Получить сам ресурс по этому id можно при помощи запроса core/search_item.

Solutions Department
Gurtam
9

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

Благодарю за помощь. Там была ситуация в следующем, что оператор навигации глобально всем дал доступ к еще одному ресурсу, который как раз шел первым в списке, а им оказывается не пользовались. Попросили их отключить ненужный ресурс и всё заработало. Конечно это не удобно, но хотя бы работает.

10

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

А меня отправляют на форум, чтобы я тут задавал вопросы, а создать тему нельзя, если нет 3 сообщений. Ну это вроде третье сообщение. Какие же тупые правила... Приходиться флудить.

11

WialonHosting Ошибка 4

Re: WialonHosting Ошибка 4

vipblogger пишет:

А меня отправляют на форум, чтобы я тут задавал вопросы, а создать тему нельзя, если нет 3 сообщений. Ну это вроде третье сообщение. Какие же тупые правила... Приходиться флудить.

smile))