1

这是来自 msdn的Microsoft Dynamics NAV Web 服务。但我只能调用http://<Server>:<WebServicePort>/<ServerInstance>andhttp://<Server>:<WebServicePort>/<ServerInstance>/ws/SystemServicehttp://<Server>:<WebServicePort>/<ServerInstance>/ws/services

但我不能调用以下内容: http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/services http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>

用于访问特定代码单元的 URL 具有以下元素:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Codeunit/<ServiceName>

如何从浏览器访问每个公司的 Microsoft Dynamics Nav Web 服务?

4

3 回答 3

2

从浏览器你应该能够调用:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>
于 2016-06-23T06:35:04.080 回答
1

在您链接到的msdn 页面中,它指出:

公司名称中的特殊字符必须经过 URL 编码。例如,公司名称中的空格必须替换为 %20,因此您可以将公司名称“Microsoft France SA”编码为:Microsoft%20France%20S.A。不属于已安装语言的字符也应替换。例如,在美国英语语言环境中,公司名称“CRONUS ÆØÅ Company”应编码为:CRONUS%20%C3%86%C3%98%C3%85%20Company

您是否确认您使用的公司名称已正确转义?

如果您在 .NET 代码中构建 URI,则可以使用Uri.EscapeUriString方法来转义您的公司名称。

于 2012-06-26T20:13:25.753 回答
0

在 SystemService 中,有一个函数“Companies”。您可以在此处获取 Dynamics NAV 系统中所有已定义的公司。

通过循环这些,您可以调用所有公司的所有 Web 服务。

但是,在服务中,您可以概览所有已发布的 Web 服务。其中大部分适用于所有公司(系统服务除外)

在这种情况下,您可以将转义的公司名称作为“文件夹”放置在 WS 和 Codeunit 或 Page 标签之间。

像这样:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<PublishedName>

或者

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Codeunit/<PublishedName>
于 2015-12-10T15:15:14.013 回答