我试图根据现有的示例消息测试[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