我試圖根據現有的示例消息測試[MessageContract]
類,並且正在尋找一種方法來簡化開發,方法是將示例消息文件讀入我的[MessageContract]
類的實例中,並查看它是如何實現的(I'在這裏處理一個非WCF起源的特別複雜的合同)。如何將XML文件轉換爲MessageContract類的實例?
我[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]
類的實例的系統,但它是什麼?
顯然你需要一個動作和正確的消息版本,但這是我知道如何做到這一點。最後你會得到一個Example對象你可以用TypedMessageConverter做類似的事情,通過使用ToMessage轉換爲一個字符串表示 – 2010-11-10 00:30:24