我正在编写一个 .NET c# Web 服务客户端,它查询 Web 服务并获取结果集作为响应。
当我使用此客户端查询 Web 服务时,它返回结果集但仅返回部分集。通过 SOAPUI 调用相同的 Web 服务时返回 58 条记录,但在 .NET 客户端中它只返回 5 条。58 是预期的记录数,我在从 .NET 客户端发出请求时没有应用任何过滤器。
.NET 客户端收到的这 5 条记录具有返回 xsi:nil="true" 的元素之一。结果集的 XSD 带有 nillable 属性,对于该元素为 true。
我已经验证了 SOAP UI 中的请求和响应,这些都验证得很好。
不确定为什么 .NET 客户端无法接收完整数据。有什么想法吗?
更新:在 .NET 中生成的引用类具有 [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] 针对 XSD 中标记为 isnullable 的元素。因此,当我撰写帖子对象时,此元素会自动添加。由于这是发布对象的一部分,因此 Web 服务将其视为过滤条件,因此返回 xsi:nill=true 的记录。现在问题已经解决了。感谢大家的支持。