【发布时间】:2010-04-12 22:37:09
【问题描述】:
错误 - 异常:System.ServiceModel.Dispatcher.NetDispatcherFaultException 消息:格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数 services.gmrlive.com/JupiterMobile/2009/01/01/:StatusDetails 时出错。 InnerException 消息是“反序列化 X.X.X.Entities.StatusDetailCollection 类型的对象时出错。名称不能以“5”字符开头,十六进制值 0x35。第 12 行,位置 45。'。
我正在跟踪 wcf 日志,但我无法看到实际的 xml 消息。它无法记录格式错误的消息。
谁能帮忙?
【问题讨论】:
-
看起来您的对象名称的名称开头有一个“5”字符,正如错误消息所建议的那样?您可以使用属性覆盖名称:[DataContract(Name="ZZZ")]
-
此服务适用于其他消息。我可以看到消息并且工作正常。该特定消息本身似乎有问题。 StatusDetail 对象有一个名为 Name 的属性,它是一个字符串。同样,开头的“5”不应该打扰字符串字段。 StatusDetailCollection 是集合对象;公共类 StatusDetailCollection : KeyedCollection
标签: xml wcf serialization