我们有一家合作伙伴公司,它通过webRequest(C#)函数向我们发布XML。
XML结构是固定的,我无法改变XML的外观。
以下是我发生的事情和我正在做的代码的示例。 XML是Fiddler中XML的一个例子。
<Sales>
<Customer>
<Name>John</Name>
</Customer>
<Goods>
<Good>
<id>5445</id>
</Good>
<Good>
<id>6767</id>
</Good>
</Goods>
</Sales>
我的WCF功能是
public Sales(clsCustomer Customer, clsGoods Good);
我的界面是
[OperationContract]
[WebInvoke(UriTemplate = "SendRequest", BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", ResponseFormat = WebMessageFormat.Xml)]
public Sales(clsCustomer Customer, clsGoods Goods)
我的课程
[DataContract(NameSpace="http://example.com/Int")]
public class Customer {
[DataMember(Name="Name",Order=1)]
public string Name { get; set; }
}
[DataContract(NameSpace="http://example.com/Int")]
public class clsGoods {
public List<clsGood> Good { get; set; }
}
[DataContract(NameSpace="http://example.com/Int")]
public class clsGood {
public string id {get; set;}
}
当我使用WebRequest
发布我的服务时,客户字段会被填充,但Goods
集合始终为空。
答案 0 :(得分:0)
你需要装饰(public List Good {get; set;})作为你的数据成员
像这样:[DataMember]
public List<clsGood> Good { get; set; }