gpt4 book ai didi

c# - 带有 xs :anytype causing serialization problems 的 WCF 消息

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:03 24 4
gpt4 key购买 nike

我有一个客户提供的架构,它在 wsdl 中包含一个 xs:anytype 元素。

原始生成的代码包含一个对象类型的属性。根据 SO 上的其他一些答案,我将其更改为 XmlElement 类型。

当我在 visual studio (iis express) 中运行我的服务时,这工作正常,并且我在属性中正确获取了 XML。

在 IIS 中部署时向我的应用程序发送完全相同的 SOAP 消息会出错

无法将“System.Xml.XmlText”类型的对象转换为类型“System.Xml.XmlElement”。

为什么反序列化的行为因托管而异?什么是我的类保存 xs:anytype 的正确类型?我怎样才能让它表现一致?

注意:我接受了下面的第一个答案,因为它解决了眼前的问题,但请参阅我为最终根本原因添加的第二个答案

最佳答案

XmlText表示 XML 中的字符串文字 -- character data一个元素而不是一个完整的元素。从错误看来,您的 XML 可能包含完整元素或可能包含字符数据。序列化程序正在尝试将字符数据保存为 XmlText,但因无效转换错误而失败。要处理此问题,请将您的属性类型从 XmlElement 切换为至 XmlNode . XmlNodeXmlTextXmlElement 的基类,表示 XML DOM 层次结构中的任何类型的节点。

关于c# - 带有 xs :anytype causing serialization problems 的 WCF 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31925856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com