Подключение к веб-сервисам NAV из …
Когда-то я обещал написать несколько статей по тому, каким образом подключаться к веб-сервисам NAV из разных языков программирования/различных платформ, и, чует мое сердце, настало время сдержать данное обещание.
Я напишу несколько заметок по подключение к веб-сервисам NAV из:
- PHP;
- Java;
- C#, используя Web References;
- C#, используя Service Reference;
- Javascript;
- Visual Basic, используя Web Reference;
- Visual Basic, используя Service Reference;
- Windows Mobile;
- Microsoft Dynamics NAV 2009SP1;
- И не только их…
Сценарий работы
Для всех платформ я напишу код, который:
- Подключается к веб-сервису NAV – System Service – и получает список фирм из БД;
- Составляет URL на страницу Customer Page (для первой фирмы из списка);
- Получает название клиента под номером 10000;
- Получает список клиентов из Англии (GB) с проставленным кодом склада RED или BLUE.
Ниже – пример результата работы веб-сайта на PHP:
Просьба иметь в виду, что написанный для PHP или, скажем, Java код не идеален, а цель статей – не научить людей программировать на этих языках (из меня тут выйдет плохой учитель), цель – преодолеть затруднения, связанные с работой с NAV.
Аутентификация
Первое встречающееся затруднение – аутентификация. Как вы скорее всего знаете, NAV 2009 поддерживает только аутентификацию SPNEGO (Negotiate), а PHP и JAVA не имеют встроенной поддержки этого типа аутентификации.
В NAV 2009 SP1 мы добавили в конфигурационный файл сервера приложений ключ – WebServicesUseNTLMAuthentication. Если установить этот ключ в TRUE, Web Service Listener будет использовать только NTLM-аутентификацию, так доступ из других систем будет гораздо проще.
Файл конфигурации сервера приложений, который вам надо будет править, расположен в той же папке, где находится экзешник самого сервера приложений, и называется CustomSettings.config. Секция, которая вам понадобится, следующая:
Turns on or off NTLM authentication protocol for Web Services
false: Use SPNEGO (recommended)
true: Use NTLM only
-->
Заметьте, что .NET работает с обоими возможными значениями этого ключа.
На здоровье!
Оригинал заметки лежит здесь: http://blogs.msdn.com/b/freddyk/archive/2010/01/19/connecting-to-nav-web-services-from.aspx

Автор: Андрей Стрельников
В области Navision - с 2003 года. Профессиональные интересы: NAV, MS SQL, .NET, BPMN, IT-менеджмент. Предметная область: логистика, финансы, склады, 3PL.
Количество статей, опубликованных автором: 86.