JSON-запрос, используемый XMLHTTP в VBA, не учитывается HTTP-запросом к Elasticsearch - PullRequest
0 голосов
/ 10 октября 2019

Я написал пример HTTP-запроса в Elastic Search с использованием JSON-запроса в Postman, который прекрасно работает. Как показано в запросе, я хотел отфильтровать машину по определенному имени из всех журналов.

Получить: someserver / someindex / _search? Size = 1000

Тип содержимого: application / json

Тело в формате JSON:

    {
"query":
    {
        "match":
        {
            "machineName": "ZW12"
        }
    }
}

Теперь я хочу вызвать те же функции из MS Access, поэтому я использую приведенный ниже код. Я получаю ответ от Elastic Search, но проблема в том, что он вообще не учитывает мой запрос (argumentsString). Таким образом, он показывает результаты и для других не только для указанной машины. Он показывает результаты, как будто ничего не было написано после .send

    Dim objRequest As Object
Dim strUrl As String
Dim blnAsync As Boolean
Dim strResponse As String
Dim argumentString As String


Set objRequest = CreateObject("MSXML2.XMLHTTP")
strUrl = "someserver/someindex/_search?size=1000"
argumentString = "{\""query\"":{\""match\"":{\""machineName\"":\""ZW12\""}}}"
    Debug.Print argumentString & vbNewLine
blnAsync = True

With objRequest
    .Open "GET", strUrl, blnAsync
    .setRequestHeader "Content-Type", "application/json"
    .send argumentString
    While objRequest.ReadyState <> 4
        DoEvents
    Wend
    strResponse = .responseText
End With

Debug.Print strResponse

Что-то не так с запросом?

...