[英]how to get Soap Envelope attribute value in wcf service
如何在wcf服务中获取SOAP xml属性值?
<ns3:NotifRQ Status="Commit"
xmlns:ns2="http://www.dddd.com/df/dd/"
xmlns:ns3="http://www.dd.org/OTA/">
<ns3:rev>dfdfkkl</ns3:rev>
<ns3:change>dfdfkkl</ns3:change>
</ns3:NotifRQ>
这是我现在用于数据合同的代码:
[DataContract(Name = "NotifRQ", Namespace = "http://www.dd.org/OTA/")]
public class NotifRQ
{
[DataMember(Name = "Status")]
public string ResStatus;
}
你的Status
属性需要一个字段或财产NotifRQ
类,你需要指导WCF为解释使用性能较差的XmlSerializer而不是DataContractSerializer的的位置 。 您可以通过在类上使用XmlSerializerFormat属性来实现。
现在,您可以将XmlAttribute
应用于类的字段或属性,以获取或设置xml元素上的属性值。
创建并注释您的班级,如下所示:
[DataContract(Namespace="http://www.dd.org/OTA/")]
[XmlSerializerFormat]
public class NotifRQ
{
[DataMember, XmlAttribute]
public string Status="Commit";
[DataMember]
public string rev;
[DataMember]
public string change;
}
上面的类将编写和读取以下线格式:
<?xml version="1.0" encoding="utf-16"?>
<NotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Status="Commit">
<rev>foo</rev>
</NotifRQ>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.