Добрый день! А пример с POST-запросом не подойдет?
SIIRegisterMessage* - классы, TaxHMRCHelper_UK - класс. В общем - по перекрестным ссылкам по классу RetailCommonWebAPI примеры можно найти
А работает это стандартно, как любой механизм с веб-запросом. Т.е. сначала инициализируется класс RetailWebRequest (в который кладутся данные для запроса), который является обёрткой класса System.Net.HttpWebRequest.
Потом вызывается метод GetResponse последнего класса - который выдаёт класс System.Net.HttpWebResponse, у которого в свою очередь есть обёртка в виде класса RetailWebResponse
Дальше вынимаются данные из класса RetailWebResponse.
Непосредственно процедура передачи управления .NET-классам производится в методе RetailCommonWebAPI.getResponse
Собственно, всё
Пример стандартного метода с GET-запросом (без параметров) из класса EGAISUTMHelper_RU
X++:
public static XML makeGETRequest(URL _URL)
{
RetailCommonWebAPI webApi;
RetailWebResponse webResponse;
XML responseXml;
webApi = RetailCommonWebAPI::construct();
webResponse = webApi.makeRequest(_URL);
if (webResponse.parmHttpStatus() == #HttpOK)
{
responseXml = webResponse.parmData();
}
else
{
throw error(webResponse.parmData() ? webResponse.parmData() : strFmt("@SYP4885905", _URL, webResponse.parmHttpStatus()));
}
return responseXml;
}
POST-запрос с параметрами (класс EGAISSendOutgoingDocuments_RU)
X++:
protected RetailWebResponse makePostRequest(
str _requestUrl,
str _postData,
str _header = '',
str _contentType = '')
{
RetailCommonWebAPI webApi;
RetailWebResponse webResponse;
webApi = RetailCommonWebAPI::construct();
webResponse = webApi.makePostRequest(_requestUrl, _postData, _header, _contentType);
return webResponse;
}