WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。

Posted 1936xinyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。相关的知识,希望对你有一定的参考价值。

情况是SingleRoom和DoubleRoom是Room类的子类。在WebService中有一个方法是返回Room类。

public Room Get(int roomId)
{
    return Room.Get(roomId);
}

XmlSerializer在序列化时只能识别父类,而不能识别子类,所以导致序列化的错误。需要将[XmlInclude(typeof(SingleRoom))]和[XmlInclude(typeof(DoubleRoom))]同时加到WebService中。

[XmlInclude(typeof(SingleHouse))]
[XmlInclude(typeof(DoubleHouse))]
public class RoomService : System.Web.Services.WebService

 

以上是关于WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。的主要内容,如果未能解决你的问题,请参考以下文章