2014-11-26 2 views
1

Я использую PostMan для повторного отправки (Xml) контента в метод webAPI. К сожалению, содержимое Xml усекается в точке, где в строке указывается > (xml содержит атрибут с уже закодированным URL-адресом)Содержимое, отправленное в API, усекается

Я не могу изменить формат xml, поскольку он уже используется с приложение, поскольку я просто извлекаю значение из таблицы в sql и перенаправляю его в api для целей тестирования. и мне нужно иметь возможность вытащить данные как есть, и перенаправить его на api через PostMan с очень небольшим усилием (мне, возможно, придется делать это несколько раз с разными данными).

В API подписи:

public HttpResponseMessage Put([FromBody]string userDataSetString, [FromUri(Name = "V")]string apiVersion) 

И данные это то, что я имею в Почтальон:

Postman Settings

Когда я выполняю это против API, параметр userDataSetString имеет:

<Test Value=" 

Есть что-то Мне нужно добавить в заголовок, чтобы он справился с этим?

EDIT В качестве альтернативы, я также возьму любой ответ, который позволит мне хранить XML-файл в файле и прикрепить его к почтовому отправителю для отправки.

ответ

0

Поэтому я понял, что проблема связана с наличием в коде &.

Перед установкой мои данные в текстовое окно Почтальон RAW, мне нужно сделать глобальный заменить на & с %26

Перед

=<Test Value="&gt;Data"></Test> 

После

=<Test Value="%26gt;Data"></Test> 
0

Вы можете использовать HttpRequestMessage:

public HttpResponseMessage Put(HttpRequestMessage request, [FromUri(Name = "V")]string apiVersion) 
{ 
    var xml = request.Content.ReadAsStringAsync().Result; 
    ... 
    return new HttpResponseMessage(); 
} 

и пост со следующим заголовком:

content-type: application/x-www-form-urlencoded 

и следующего тела (без символа '=' в начале)

<Test Value="&gt;Data"></Test> 
Смежные вопросы