У меня есть метод WebGet, как я могу получить результат XML? - PullRequest
1 голос
/ 07 сентября 2010

У меня есть определенный метод (фрагмент ниже), для которого я хочу получить XML-результат:

Сервер

[OperationContract]
[WebGet(UriTemplate = "getcustomerschema/userCode={userCode}/password={password}",
     ResponseFormat= WebMessageFormat.Xml, 
     RequestFormat= WebMessageFormat.Xml, 
     BodyStyle= WebMessageBodyStyle.Wrapped)]
public DataSet GetCustomerSchema(string userCode, string password)
{
     //method     
}

Клиент

using (HttpResponseMessage response = m_RestHttpClient.Get("getcustomerschema/userCode=admin/password=admin"))
{
   //how can I get the xml resuly from the httpResponseMessage?
}

Спасибо

Ответы [ 3 ]

1 голос
/ 07 сентября 2010

Используя HttpResponseMessage, вы можете получить доступ к xml-ответу через свойство «Content».

HttpResponseMessage resp = http.Get("friends_timeline.xml");
resp.EnsureStatusIsSuccessful();
XElement document = resp.Content.ReadAsXElement();

Извлечено из: http://msdn.microsoft.com/en-us/library/ee391967.aspx

0 голосов
/ 15 сентября 2010

DataSet dst = new DataSet (); dst.ReadXml (response.Content.ReadAsStream (), XmlReadMode.ReadSchema);

Вот так я конвертирую HttpResponse в набор данных, и если мне нужен XML, я просто извлекаю его из набора данных

Надеюсь, это поможет другим разработчикам REST

0 голосов
/ 07 сентября 2010

Зачем вам нужен результат xml напрямую?

Вы можете использовать Fiddler , чтобы просмотреть XML, полученный от веб-службы, если это то, что вам нужно.

Также можно вызвать веб-службу напрямую из Visual Studio в диалоговом окне Добавить веб-ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...