问题:
我有一个WCF服务设置作为来自外部系统的呼叫的端点.该调用是发送普通的xml.我正在通过使用RequestBuilder从Fiddler向服务发送调用来测试系统.
问题是我的所有字段都被反序列化,但两个字段除外.price_retail和price_wholesale.
我错过了什么?所有其他字段反序列化没有问题 - 服务响应.只是这些领域.
XML消息:
<widget_conclusion>
<list_criteria_id>123</list_criteria_id>
<list_type>consumer</list_type>
<qty>500</qty>
<price_retail>50.00</price_retail>
<price_wholesale>40.00</price_wholesale>
<session_id>123456789</session_id>
</widget_conclusion>
Run Code Online (Sandbox Code Playgroud)
服务方式:
public string WidgetConclusion(ConclusionMessage message)
{
var priceRetail = message.PriceRetail;
}
Run Code Online (Sandbox Code Playgroud)
消息类:
[DataContract(Name = "widget_conclusion", Namespace = "")]
public class ConclusionMessage
{
[DataMember(Name = "list_criteria_id")]
public int CriteriaId { get; set;}
[DataMember(Name = "list_type")]
public string ListType { get; set; }
[DataMember(Name = "qty")]
public int ListQuantity { get; set; }
[DataMember(Name = "price_retail")]
public decimal PriceRetail { get; set; } …Run Code Online (Sandbox Code Playgroud) C#文件的结构是否会影响编译的内容?
例如,成员的顺序(根据它存在的文件中的位置)是否会影响编译的类?
我正在尝试为一项规格确实不足的服务实现一个客户端。它类似于 SOAP,尽管它没有 WSDL 或等效文件。该规范也没有提供有关元素正确排序的任何信息 - 它们在规范中按字母顺序列出,但如果它们在请求中的顺序不正确,则服务会返回 XML 解析错误(所述顺序由检查示例)。
我可以用它来提交请求,即使这很痛苦。但是,我不知道如何正确处理响应。
使用两者SoapEnvelope和直接使用XmlSerializer,如果响应包含我尚未正确订购的元素,它会显示null在我的对象上。再次,我可以设法处理这个问题,并使用 attribute 手动排序类属性,Order但我无法判断原始 XML 是否有一个我没有正确排序并因此保留为 的字段null。
这引出了当前的问题: 如何检查 XmlSerializer 是否删除了字段?