ODataURI服务疑难解答

ODataURI服务疑难解答,odata,wcf-data-services,linqpad,Odata,Wcf Data Services,Linqpad,我有一个由消费者桌面应用程序生成的ODataURI,如下所示 http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/ 在我的浏览器中输入这个,我可以查看atom XML并查看应该可用的集合 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <service xmlns="http://www.w3.org/2007/app" xml

我有一个由消费者桌面应用程序生成的ODataURI,如下所示

http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/
在我的浏览器中输入这个,我可以查看atom 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> 
它只返回我期望的每个项目的当前日期,没有实际数据。然而,物品的数量是准确的。我希望能够在LinqPad或VB.Net查询应用程序中使用它,但我甚至无法让浏览器查询正常工作。是我还是服务有问题?我在LinqPAD和WCF数据服务的测试项目中尝试了URI,当我测试相同的URI时,我得到一个(500)内部服务器错误

供应商没有提供任何支持,所以我希望这里的人能给我一些故障排除步骤,以说明问题所在

编辑:

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

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


我不知道为什么$metadata端点没有显示出来。如果右键单击并“查看源”,是否看到了那里的xml文档?

是的,我可以看到xml文档,但不能使用查看源。我必须取消选中打开提要读取视图。如果在URI之后使用/点。如果在URI IE错误之后使用/$metadata”网站无法显示页面“HTTP 500。我想我将努力使用WebRequest并使用LINQ to XML手动构建查询。您所说的“它只返回我期望的每个项目的当前日期,没有实际数据”是什么意思?而且,您使用的服务似乎不处理“$metadata”“…IE设置为feed reading view,该视图仅显示xml数据的有限样式化视图,显示每个项目的当前日期。也许我应该在我的原稿中添加第一项。评论为1/2答案。仍然不知道$metadata或WCF数据服务失败的原因。我不确定Lingpad,但该服务可能包含一些问题。您是否可以检查服务代码?否,该服务源自商业桌面应用程序。除了URI之外,我没有其他事情要做。此外,供应商支持也帮不上忙。
http://localhost:32702/TBC/Projects/15f1360adb2e4008921b9b5bb849ae78/Points