Невозможно отправить десериализованные данные в веб-API - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь использовать API, который я использовал ранее для различных заданий, для запроса и получения мне соответствующих данных.Но в последнее время я не могу этого сделать из-за необычного возвращенного исключения, о котором я, честно говоря, понятия не имею.

КОД:

import SIEMAuth
import requests
alert_id = '144116287822364672|12101929'

query_params = {"id":   {"value": alert_id}, "format": {"format": 0}}
print(requests.post(SIEMAuth.url + 'ipsGetAlertPacket', json=query_params,  headers=SIEMAuth.session_headers, verify=False).text)

При запросе возвращается следующий ответ об исключении / трассировке:

Can not construct instance of com.mcafee.siem.api.data.alert.EsmPacketFormat: no suitable constructor found, can not deserialize from Object value (missing default constructor or creator, or perhaps need to add/enable type information?)
 at [Source: java.io.StringReader@1a15fbf; line: 1, column: 2]

Process finished with exit code 0

При попытке просмотраЧтобы узнать больше об этом исключении, большинство результатов связано с Джексоном Парсером для Json в среде программирования Java, над которым я не работаю или не знаю.

Если кто-нибудь может помочь, я быбыть чрезвычайно благодарным .....

1 Ответ

0 голосов
/ 19 сентября 2018

К сожалению это как я и предлагал;в основном так или иначе это сломано.Ответ от их поддержки следующий:

Я обратился к моей группе разработчиков по этому вопросу.Я получил ответ ниже.

Этот конкретный get не предназначен для использования во внешнем API.Он должен использоваться только из интерфейса и был удален с той версии ESM, на которой вы работаете.Если вы хотите использовать это извне, то вам нужно представить его как.

Надеюсь, это очистит ваши вопросы.

Редактировать: На самом деле это обсуждалось в ветке на их форумах поддержки.Вам необходимо войти в систему, чтобы увидеть исходный поток .

Несмотря на имя, этот API не возвращает фактический пакет данных, связанный с событием.Фактически, когда агрегирование включено, не все пакеты, связанные с данным событием, доступны в ESM.Необработанные пакетные данные могут быть получены из ELM через пользовательский интерфейс, но, к сожалению, в настоящее время нет способа сделать это программным путем.

...