【发布时间】:2017-10-17 13:22:07
【问题描述】:
我编写了以下代码来查询 Dynamics Nav 2016 中的 ODATA 端点。我通过创建 ODATA connected service 来做到这一点。我在 URL 中传递了一个公司名称:
var navision = new Navision(
new Uri("http://navision:7048/navision/OData/Company('Company1')"));
foreach (var foo in await navision.Foo.ExecuteAsync())
{
Console.WriteLine(foo.Name);
}
是否可以查询Navision中的所有公司?当我省略 URL 的 /Company(...) 部分时,我得到一个错误:
DataServiceClientException:无法处理请求,因为找不到默认的 Microsoft Dynamics NAV 公司。您可以在服务配置文件中指定一个默认公司,也可以为每个租户指定一个,也可以添加“company=[name]”形式的查询字符串。您可以通过访问默认的 OData Web 服务公司来查看可用的公司。有关详细信息,请参阅帮助中的“OData Web 服务”。
【问题讨论】:
-
不。不同的公司意味着不同的桌子。 Nav 不会为您加入。
-
把它作为答案@MakSim,:)
-
请调查System service 以实现此目的。这是一项 SOAP 服务,但我不知道是否存在与 OData 等效的服务?
标签: c# web-services odata microsoft-dynamics dynamics-nav