这是来自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服务?
答案 0 :(得分:2)
您可以通过浏览器致电:
http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>
答案 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>