Как я могу использовать Tidhttp, чтобы сделать запрос Get с параметром под названием xml?

Мы успешно использовали Delphi 2010 для выполнения запросов http get, но для одной службы, которая ожидает параметр с именем 'XML» запрос не выполняется сHTTP / 1.1 400 Bad Request ' ошибка.

Я заметил, что вызывая ту же услугу и опускаяXML» параметр работает.

Я пробовал следующее безуспешно:

HttpGet('http://localhost/Service/Messaging.svc/SendReports/[email protected]@internal.com&id=42&profile=A1');

...

function TReportingFrame.HttpGet(const url: string): string;
var
  responseStream : TMemoryStream;
  html: string;
  HTTP: TIdHTTP;
begin
  try
      try
        responseStream := TMemoryStream.Create;
        HTTP := TIdHTTP.Create(nil);
        HTTP.OnWork:= HttpWork;
        HTTP.Request.ContentType := 'text/xml; charset=utf-8';
        HTTP.Request.ContentEncoding := 'utf-8';
        HTTP.HTTPOptions := [hoForceEncodeParams];
        HTTP.Request.CharSet := 'utf-8';
        HTTP.Get(url, responseStream);
        SetString(html, PAnsiChar(responseStream.Memory), responseStream.Size);
        result := html;
      except
        on E: Exception do
            Global.LogError(E, 'ProcessHttpRequest');
      end;
    finally
      try
        HTTP.Disconnect;
      except
      end;
    end;
end;

Вызов того же URL с именем параметраXML» переименован во что-нибудь еще, как 'xml2' или же 'название' с тем же значением, что и выше, также работает. Я также пробовал несколько комбинаций кодировки, но я думаю, что инди-компонент меняет ее внутренне.

РЕДАКТИРОВАТЬ

Сервис ожидает:

[WebGet(UriTemplate = "SendReports/{format=pdf}?report={reportFile}¶ms={jsonParams}&xml={xmlFile}&profile={profile}&id={id}")]

Кто-нибудь имел опыт работы с этим?

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос