Распечатать XML, который будет возвращен из веб-службы - PullRequest
1 голос
/ 08 февраля 2012

У меня есть веб-сервис .NET, который возвращает объект, и я получаю ответ XML. Я пытаюсь отладить, потому что ответ получает правильный XML на одном компьютере, но не на другом.

Я хотел бы напечатать XML, который будет возвращен из веб-службы, прямо перед оператором возврата на стороне веб-службы. Есть ли способ сделать это?

[WebGet(UriTemplate = MY_URI_TEMPLATE)]
public MyReturnObject DoUpdate(string myParam)
{
    ...
    MyReturnObject retVal = new MyReturnObject(myParam)

    //I want to print the XML that is going to be returned for MyReturnObject here

    return retVal;
}

1 Ответ

1 голос
/ 08 февраля 2012

Как насчет использования DataContractSerializer .Что-то в этом роде

MyReturnObject retVal = new MyReturnObject(myParam)
var serializer = new DataContractSerializer(retVal.GetType());

using (var xmlData = new StringWriter())
using (var writer = XmlWriter.Create(xmlData))
{
    serializer.WriteObject(writer, retVal);
    Console.WriteLine(xmlData.ToString());
} 
...