相关疑难解决方法(0)

WCF Datacontract,某些字段不反序列化

问题:

我有一个WCF服务设置作为来自外部系统的呼叫的端点.该调用是发送普通的xml.我正在通过使用RequestBuilder从Fiddler向服务发送调用来测试系统.

问题是我的所有字段都被反序列化,但两个字段除外.price_retailprice_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)

wcf datacontractserializer

28
推荐指数
1
解决办法
1万
查看次数

C#文件的结构是否会影响编译的内容?

C#文件的结构是否会影响编译的内容?

例如,成员的顺序(根据它存在的文件中的位置)是否会影响编译的类?

.net c# compilation file-structure

2
推荐指数
1
解决办法
104
查看次数

反序列化具有未知元素顺序的 XML

我正在尝试为一项规格确实不足的服务实现一个客户端。它类似于 SOAP,尽管它没有 WSDL 或等效文件。该规范也没有提供有关元素正确排序的任何信息 - 它们在规范中按字母顺序列出,但如果它们在请求中的顺序不正确,则服务会返回 XML 解析错误(所述顺序由检查示例)。

我可以它来提交请求,即使这很痛苦。但是,我不知道如何正确处理响应。

使用两者SoapEnvelope和直接使用XmlSerializer,如果响应包含我尚未正确订购的元素,它会显示null在我的对象上。再次,我可以设法处理这个问题,并使用 attribute 手动排序类属性Order我无法判断原始 XML 是否有一个我没有正确排序并因此保留为 的字段null

这引出了当前的问题: 如何检查 XmlSerializer 是否删除了字段

c# serialization soap xml-serialization xmlserializer

2
推荐指数
1
解决办法
3574
查看次数