Я пытаюсь получить доступ к веб-службе Dynamics NAV 2013 R2 с Java. Веб-служба работает, и когда я ввожу URL-адрес в Internet Explorer, я вижу WSDL, но сначала мне предлагается ввести имя пользователя и пароль. На Wireshark я вижу, что он использует аутентификацию на основе NTLM. До сих пор мне удалось открыть WSDL только из Internet Explorer, когда я открываю его в Firefox, он дает мне пустую страницу и никаких ошибок.
Я пытаюсь получить доступ к веб-службе из Java с помощью инструмента wsimport, но не могу пройти аутентификацию. Я уже создал папку в ~/.metro/auth
и поместил туда следующую строку:
http://userfoobar:[email protected]:7047//DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization
и я пытаюсь получить доступ к веб-странице с помощью:
wsimport -d generated -s sources http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization
Я всегда получаю ошибку:
[ERROR] Server returned HTTP response code: 401 for URL: http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization, "http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization" needs authorization, please provide authorization file with read access at /home/user/.metro/auth or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
Я пробовал это как из Linux, так и из машины с Windows 7, на которой работает веб-сервис NAV. Должен ли я выполнять какие-либо дополнительные настройки в NAV? Есть ли какие-то специальные приемы, чтобы заставить это работать?