【问题标题】:.NET 2.0 Web service creating new objects when null supplied via soap.NET 2.0 Web 服务在通过 soap 提供 null 时创建新对象
【发布时间】:2011-07-18 12:23:46
【问题描述】:

我有一个 ASP.NET 2.0 Web 服务,并且正在(除其他外)一个 Adob​​e Flex 应用程序中使用它。我有一个奇怪的问题,如果我使用带有一些为 null 的字段的 soap 将对象发送到 Web 服务,那么 Web 服务实际上是在另一端创建新对象(而不是在其中放入任何数据)。

正在发送的 XML 如下所示:

 <tns:Item>
            <tns:Id>-1</tns:Id>
            <tns:SomeField>21114</tns:SomeField>
            <tns:SomeFieldThatShouldBeNull xsi:nil="true"/>
            <tns:SomeFieldThatShouldBeNull2 xsi:nil="true"/>
</tns:Item>

在此示例中,SomeFieldThatShouldBeNull 和 SomeFieldThatShouldBeNull2 由 Web 服务创建为新对象。这对于不会发生的应用程序至关重要。这可能是什么原因造成的?

到目前为止,Google、MSDN 和 ASP.NET 论坛还没有胜出。

【问题讨论】:

    标签: asp.net apache-flex web-services soap asmx


    【解决方案1】:

    通过随机刺激修复。看来我必须将以下属性放在 .NET 代码中的字段上,以使其将具有 xsi:nil="true" 属性的字段视为空值:

    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    

    【讨论】:

      猜你喜欢
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 2023-03-26
      • 1970-01-01
      • 2014-11-14
      相关资源
      最近更新 更多