我正在使用libRets for .NET,并使用有效的用户帐户查询http://retsgw.flexmls.com/rets2_1/。从C#开始,在调用Search()后,我使用GetCount()检查计数,得到6300个结果,但是当我第一次调用HasNext()时返回false
。
检查XML响应,即使结果计数提供了数字,结果看起来也是空的()。
那么......结果在哪里?
确切的查询如下:
以下是请求:
SearchRequest request = client.CreateSearchRequest("OpenHouse", "OpenHouse", "");
request.SetStandardNames(true);
request.SetSelect("ListingID");
请求的方式如下:
SearchResultSet result = client.Search(request);
以下是处理结果的方式:
while (result.HasNext()) {
// Do something
}
答案 0 :(得分:4)
因此,看起来FlexMLS支持能够帮助(相当快)。
我需要将&Format=COMPACT-DECODED
添加到查询字符串中。
所以,在代码中它看起来像这样:
request.SetFormatType(SearchRequest.FormatType.COMPACT_DECODED);
答案 1 :(得分:1)
1)您将StandardNames设置为true然后设置选择。 StandardNames中可能不存在该选择。 (您已经查看了服务器返回的元数据,对吗?)可能服务器在执行计数时不会将select考虑在内,但是在完整查询中,它没有任何信息要发回因为它没有与您选择的表匹配的表。未设置选择时会发生什么?
2)您是否已完成数据包跟踪或设置libRETS以将网络流量记录到文件中? (我不知道这是不是你的意思“检查XML响应,看起来结果是空的(),即使结果计数提供了一个数字。”)如果你没有,那就做,看看是否服务器正在传回任何信息。
如果服务器正在传递包信息,您可能在libRETS中发现了一个错误,我邀请您加入libRETS-users邮件列表并在那里共享此数据(以及该网络跟踪)。
如果服务器返回0结果,您可能需要联系MLS和/或FlexMLS以查看您是否没有权限查看结果。一些RETS服务器具有细粒度的结果,您可以获得计数,但不能获取数据。