Я пытаюсь протестировать класс [MessageContract]
с существующим примером сообщения, и я ищу способ упростить разработку, прочитав файл примера сообщения в экземпляр моего класса [MessageContract]
и выяснив, как онсработал (здесь я имею дело с особенно сложным контрактом, не относящимся к WCF).
Мой [MessageContract]
класс выглядит примерно так:
[MessageContract(IsWrapped = true, WrapperName = "wrapper", WrapperNamespace = "somens")]
public class RequestMessage
{
[MessageHeader(Name = "HeaderElem", Namespace = "otherns")]
public XElement CorrelationTimeToLive { get; set; }
[MessageBodyMember(Name = "id", Namespace = "somens")]
public XElement id { get; set; }
}
Я могу прочитатьфайл в экземпляр класса Message
, используя следующий код:
var xr = XmlReader.Create("sample_message.xml");
var msg = Message.CreateMessage(xr, int.MaxValue, MessageVersion.Soap12);
Однако это не особенно полезно, потому что не позволяет мне тестировать мой класс [MessageContract]
.
Где-то в недрах WCF есть система для превращения этого экземпляра Message
в экземпляр определенного класса [MessageContract]
, но что это такое?