Как создать содержимое тела HTTP-запроса POST с помощью WCF REST (Starter Kit) - PullRequest
1 голос
/ 12 января 2010

Я интегрирую приложение с ZenDesk . У них есть REST API . Мне нужно отправить POX в теле запроса. Я использую стартовый комплект WCF REST.

Как программно добавить мой xml в тело запроса?

Вот мой юнит-тест:

        [Test]
        public void Can_create_user()
        {
            // Arrange
            http = new HttpClient("http://myapp.zendesk.com/");
            http.TransportSettings.Credentials = new NetworkCredential
                                               ("joe@admin.com", "passW0rd");
            http.DefaultHeaders.Accept.Add("application/xml");
            var form = new HttpUrlEncodedForm();
            var expectedStatusCode = 201;

            var request = new XDocument(
                new XElement("user",
                             new XElement("email", "joe@user.com"),
                             new XElement("name", "Joe User"),
                             new XElement("roles", "4"),
                             new XElement("restriction-id", "4")));

            form.Add("body", request.ToString());

            // Act
            var response = http.Post("users.xml", form.CreateHttpContent());
            var content = response.Content.ReadAsString();

            // Assert
            response.EnsureStatusIs(expectedStatusCode);

1 Ответ

1 голос
/ 12 января 2010

Решение заключается в использовании статического метода Microsoft.Http.HttpContent.Create ()

var response = http.Post("users.xml", HttpContent.Create(requestXML.ToString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...