Invoke-WebReqeust - XML Строка должна храниться в поле формы с именем REQUEST и должна отправляться на наши серверы через метод HTTP POST - PullRequest
0 голосов
/ 05 марта 2020

Застрял после плохой документации. Попытка подключиться к API-интерфейсу вендоров для загрузки заказов в мою собственную БД. У продавца есть только одна строка и пример (даже не правильный URL, который я все еще пытаюсь получить).

Documentation = XML Строка должна храниться в поле формы с именем REQUEST и отправляться на наши серверы с помощью метода HTTP POST. Все методы, описанные в этом документе, должны соответствовать этому стандарту.

Пример = метод GET ORDERS XML формат:

<?xml version="1.0" encoding="utf-8"?>
<OrderXML>
 <Method>GET ORDERS</Method>
 <Authentication>
 <Username>Your Username</Username>
 <Password>Your Password</Password>
 </Authentication>
</OrderXML>

Пробовал в Postman и PowerShell просто не может понять, как получить "Форма запроса. Мой код возвращает неверный запрос, и я не уверен, что из-за URL-адреса или неправильно получена форма «Запрос».

$URI = "https://orders.website.com/webservice/default.cfm"
[xml]$requestXML = @'
    REQUEST=
    <OrderXML>
    <Method>GET ORDERS</Method>
    <TestMode>YES</TestMode>
    <Authentication>
    <Username>USERNAME</Username>
    <Password>PASSWORD</Password>
    </Authentication>
    </OrderXML>
'@
Invoke-WebRequest -Uri $URI -Method Post -Body $requestXML

Спасибо

1 Ответ

0 голосов
/ 02 апреля 2020

Итак, наконец, понял это в Почтальоне. Использовал элемент управления формы вместо Raw XML. Ключ является обязательным «ЗАПРОС», а значение - XML.

.
...