Dynamics Nav公司Web服务

时间:2012-06-26 09:39:00

标签: microsoft-dynamics navision dynamics-nav

这是来自msdn的Microsoft Dynamics NAV Web Services。但我只能致电http://<Server>:<WebServicePort>/<ServerInstance>http://<Server>:<WebServicePort>/<ServerInstance>/ws/SystemService以及http://<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服务?

3 个答案:

答案 0 :(得分:2)

您可以通过浏览器致电:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>
  • 确保SOAP&amp;为ServerInstance启用了ODATA服务。
  • 确保已发布Codeunit或Page,并且您获得了正确的已发布名称。
  • 另请注意,CompanyName,Page,Codeunit和ServiceName都区分大小写。如https://msdn.microsoft.com/en-us/library/dd355398
  • 中所述

答案 1 :(得分:1)

在您关联的msdn page中,它声明:

  

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

您是否验证了您正在使用的公司名称是否已正确转义?

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

答案 2 :(得分:0)

在SystemService中,有一个功能“公司”。在这里,您可以获得Dynamics NAV系统中所有已定义的公司。

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

但是,在“服务”中,您将获得所有已发布的Web服务的概述。 其中大部分都适用于所有公司(系统服务除外)

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

因此:

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

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