c# - SOAP 泛型类型序列化

标签 c# asp.net web-services serialization soap

我们已经创建了一个类来包装 Web 服务响应的有效载荷,如下所示。

public class ItemResponse<T> : Response
    {
    /// <summary>
    /// constructor to set private properties Item and Status
    /// </summary>
    /// <param name="item"></param>
    /// <param name="status"></param>
    public ItemResponse(T item, ResponseStatusEnum status) : base(status)
    {
        _item = item;
    }

    public ItemResponse()
    {
    }


    public ItemResponse(ResponseStatusEnum status, System.Collections.Generic.List<ResponseError> errors) : base(status, errors)
    {
    }
    private T _item;

    public T Item
    {
        get
        {
            return _item;
        }
    }


}

基类“Response”只保存错误信息和响应状态。 wsdl 清楚地显示此响应的定义为 ItemResponseOfType[TypeName],但定义中缺少项目类型信息。

我们尝试添加

[XmlInclude(typeof(TypeName))]

但无济于事。有什么想法可以让 SOAP 序列化程序知道我们想要“Item”类型序列化吗?

最佳答案

SOAP 序列化程序不支持泛型类型。 Microsoft 建议使用 WCF http://msdn.microsoft.com/en-us/library/ms172342(v=VS.100).aspx .在 WCF 之前,我记得他们推荐 XML 序列化程序。

关于c# - SOAP 泛型类型序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539973/

相关文章:

web-services - Axis2 多连接认证问题

c# - Entity Framework 数据库优先与 SQL Server

c# - 目标框架中缺少“WindowsBase”、 'PresentationCore'、 'PresentationFramework'

c# - 使用 Dapper 调用 SQL 过程

asp.net - 在div上执行服务器端代码

java - 使用 CXF 和 wsdl2java 生成代码时解决冲突

python - 有没有办法从 Python Web 服务部分返回结果......?

c# - 寻找一种更灵活的方法将定界字符串转换为 StringDictionary

asp.net - 使用 CSS 在 IE6 中滚动 DIV

c# - 无法将索引应用于 'system.data.datatable' 类型的表达式