Веб-сервис компании Dynamics Nav

Вот веб-службы Microsoft Dynamics NAV от msdn. Но я могу звонить только 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 для каждой компании из браузера?


person Phoenix Kyaw    schedule 26.06.2012    source источник


Ответы (3)


Из браузера вы должны иметь возможность позвонить:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>
  • Убедитесь, что службы SOAP и ODATA включены для ServerInstance.
  • Убедитесь, что Codeunit или страница опубликованы и у вас есть правильное опубликованное имя.
  • Также обратите внимание, что CompanyName, Page, Codeunit и ServiceName чувствительны к регистру. Как указано в https://msdn.microsoft.com/en-us/library/dd355398 < / а>
person theschitz    schedule 23.06.2016

На странице msdn, на которую вы ссылаетесь, указано следующее:

Специальные символы в названии компании должны иметь кодировку URL. Например, пробелы в названиях компаний необходимо заменить на% 20, поэтому вы должны кодировать название компании «Microsoft France S.A.» как: Microsoft% 20France% 20S.A. Символы, не являющиеся частью установленного языка, также должны быть заменены. Например, в языковом стандарте США на английском название компании "CRONUS ÆØÅ Company" должно быть закодировано как: CRONUS% 20% C3% 86% C3% 98% C3% 85% 20Company

Вы убедились, что название компании, которое вы используете, экранировано правильно?

Вы можете использовать метод Uri.EscapeUriString, чтобы избежать название компании, если вы создаете URI в коде .NET.

person Alex Peck    schedule 26.06.2012

в SystemService есть функция «Компании». Здесь вы можете получить все компании, указанные в системе Dynamics NAV.

Путем зацикливания вы можете вызывать все веб-службы для всех компаний.

Однако в Сервисах вы получаете обзор всех опубликованных веб-сервисов. Большинство из них работает для всех компаний (кроме системного сервиса)

В этом случае вы поместите экранированное название компании как «папку» между WS и Codeunit или тегом Page.

Как таковой:

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

or

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Codeunit/<PublishedName>
person Joachim Carrein    schedule 10.12.2015