@prostovlad

Отправка XML запроса методом POST?

Добрый день. Подскажите плиз как составить запрос. Вот что сказано в документации.
Необходимо отправлять запрос по адресу
spoiler
https://site.ru/webservices/rest/XXRSV_I1085_ITEM_PKG/GET_INFO/ методом «POST» с
параметрами:
• Accept значение application/xml
• Content-Type значение application/xml
• Authorization значение 'Basic ' || to_base64(<login>|| ':' || <пароль>)


формируется конкатенацией строки Basic и логина ‘:’ пароля в кодировке Base64.
Тело запроса выглядит следующим образом:
spoiler
<GET_Input xmlns:ns="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/GET_INFO/"
xmlns:ns1="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/header/">
<RESTHeader>
<Responsibility>КОД_ПОЛНОМОЧИЙ</Responsibility>
<RespApplication>IBE</RespApplication>
<SecurityGroup>STANDARD</SecurityGroup>
<NLSLanguage>RUSSIAN</NLSLanguage>
</RESTHeader>
<InputParameters>
<P_VERSION>ВЕРСИЯ_ЗАПРОСА</P_VERSION>
<P_PARAMETER_TBL>
<P_PARAMETER_TBL_ITEM>
<PARAMETER_NAME>ИМЯ_ПАРАМЕТРА1</PARAMETER_NAME>
<PARAMETER_VALUE>ЗНАЧЕНИЕ_ПАРАМЕТРА1</PARAMETER_VALUE>
<PARAMETER_NAME>ИМЯ_ПАРАМЕТРАn</PARAMETER_NAME>
<PARAMETER_VALUE>ЗНАЧЕНИЕ_ПАРАМЕТРАn</PARAMETER_VALUE>
</P_PARAMETER_TBL_ITEM>
</P_PARAMETER_TBL>
</InputParameters></GET_Input>
  • Вопрос задан
  • 3510 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Hanneman
Ваш вопрос и является ответом на сам же вопрос, потому что вопрос содержит то, что должно быть в заголовке HTTP-запроса и в его теле. Т.е. заголовки + само тело XML.
Не совсем понятно, что вас интересует. Предполагаю, вам надо реализовать это, используя какой-то язык программирования. Если это так, то для каждого языка есть свои встроенные или сторонние модули/библиотеки, в которых реализован функционал HTTP-запросов. Вам всего лишь необходимо, используя эти модули, написать соответствующий код, который
  1. Объявляет переменные, в которых будут URL, заголовки (header -> value), само тело тело запроса и, допустим, кодировку и т.п (необходимое для формирования запроса - зависит от модуля)
  2. Компонует из всего вышеуказанного объект HTTP-запроса
  3. Посылает сам HTTP-запрос на сервер
  4. Читает и обрабатывает ответ (необязательно)

Сам запрос в "сыром" виде (с Basic-авторизацией и теми элементами заголовком, которые в вашем вопросе) выглядит так:

5c1c9a88670f9802078283.png
Вам надо (как я указал выше), написать код, который на выходе будет генерировать HTTP-запрос, который будет идентичен тому, что на картинке выше - в процессе написания кода и посылки тестовых запросов используйте программу трассировки сети (Wireshark / Fiddler), чтобы сравнивать ваш сгенерированный запрос на соответствие с примером.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы