【发布时间】: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