无法将反序列化数据发送到 Web API

Unable to send deserialized data to a Web API

我正在尝试使用我以前用于各种工作的 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)

查询时返回以下 exception/traceback 响应:

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

在尝试上网以了解有关异常的更多信息时,大部分结果都与 Java 编程环境中 Json 的 Jackson Parser 有关,这不是我正在处理的或我知道。

如果有人能提供帮助,我将不胜感激......

不幸的是,这是我建议的;基本上是这样或那样它坏了。他们支持的回复如下。

I have reach out to my development team for this question. I got below response.

That particular get is not meant to be used in the external API. It should only be used from the interface, and has been removed since the version of the ESM you are on. If you want to use that externally then you need to submit it as a per.

I hope this clears your questions.

编辑:这实际上已经在他们的支持论坛上的一个线程中进行了扩展。您需要登录才能查看 the original thread.

Name notwithstanding, this API does not return the actual data packet associated with an event. In fact, when aggregation is enabled, not all of the packets associated with a given event are available on the ESM. Raw packet data can be retrieved from the ELM through the UI, but unfortunately there currently is not a way to do that programmatically.