既存のサンプルメッセージに対してクラスをテストしようとしています。サンプルメッセージファイルをクラス[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]クラスのインスタンスに変換するためのシステムがありますが、それは何ですか?