【问题标题】:Odata URI service troubleshootingOdata URI 服务疑难解答
【发布时间】:2014-03-10 21:48:11
【问题描述】:

我有一个像这样的消费者桌面应用程序生成的 OData URI

http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/

在我的浏览器中输入它,我可以查看原子 XML 并查看应该可用的集合

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service xmlns="http://www.w3.org/2007/app" xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/">
  <workspace>
    <atom:title>Default</atom:title> 
    <collection href="FeatureAttributes">
      <atom:title>FeatureAttributes</atom:title>
    </collection> -<collection href="Points">
      <atom:title>Points</atom:title>
    </collection> -<collection href="TotalStations">
      <atom:title>TotalStations</atom:title>
    </collection> -<collection href="Vectors">
      <atom:title>Vectors</atom:title>
    </collection>
  </workspace>
</service> 

然后我将浏览器 URI 更改为包含 Points 集合或 Vectors 集合

http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/Points

它只返回我期待的每个项目的当前日期,没有实际数据。然而,项目的数量是准确的。我希望能够在 LinqPad 或 VB.Net 查询应用程序中使用它,但我什至无法让浏览器查询工作。是我还是服务有问题?我已经在 LinqPAD 和带有 WCF 数据服务的测试项目中尝试了 URI,当我测试相同的 URI 时,我得到一个 (500) 内部服务器错误。

供应商不提供任何支持,所以我希望这里有人可以给我一些故障排除步骤,以显示问题所在。

编辑:

  • 我通过取消选中“打开提要阅读视图”修改了 IE 选项 > 内容 > 提要设置 这使我可以查看返回的实体集合中的数据。我现在可以尝试使用 WebRequest 在 .net 应用程序中使用 XML 数据。
  • 将 $metadata 添加到浏览器中的 URI 会产生“网站无法显示页面”。这让我猜测只有提要被公开而没有服务。我不确定这是否可行。
  • 我仍然无法在 LinqPad 或 Visual Studio 中使用添加服务引用使用此 URI。 VS 返回错误“尝试在 URI 处查找服务时发生错误。

【问题讨论】:

  • “它只返回我期望的每个项目的当前日期,没有实际数据”是什么意思。而且,您使用的服务似乎无法处理“$metadata”....
  • IE 被设置为 feed 阅读视图,它只显示 xml 数据的有限风格化视图,显示每个项目的当前日期。也许我应该在我的原始文件中添加第一项。评论为 1/2 的答案。仍然不知道为什么 $metadata 或 WCF 数据服务失败。
  • 我不确定 Lingpad,但该服务可能存在一些问题。是否可以查看服务代码?
  • 否,该服务源自商业桌面应用程序。除了 URI,我没有其他事情要做。此外,供应商支持也无济于事。

标签: odata wcf-data-services linqpad


【解决方案1】:

我不确定 LinqPad,但 Visual Studio 中的“添加服务引用”需要一个指向您的 $metadata 端点或服务文档的链接(即您问题中的第一个查询)。作为次要步骤,您可以使用这两种工具访问积分集合。

我不确定为什么您的 $metadata 端点没有出现。如果你右击“查看源代码”,你看到那里的xml文档了吗?

【讨论】:

  • 是的,我可以看到 xml 文档,但不能使用查看源。我不得不取消选中打开提要阅读视图。如果我在 URI 之后使用 /Points。如果我在 URI IE 错误“网站无法显示页面”HTTP 500 之后使用 /$metadata。我想我将努力使用 WebRequest 并使用 LINQ to XML 手动构建我的查询。
猜你喜欢
  • 2014-08-29
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 2011-10-27
  • 1970-01-01
相关资源
最近更新 更多