gpt4 book ai didi

java - 使用 Java 访问 Dynamics NAV Webservice

转载 作者:行者123 更新时间:2023-11-29 05:28:27 26 4
gpt4 key购买 nike

我正在尝试从 Java 访问 Dynamics NAV 2013 R2 Web 服务。 Web 服务正在运行,当我在 Internet Explorer 中输入 URL 时,我可以看到 WSDL,但首先提示我输入用户名和密码。在 Wireshark 上,我可以看到它使用基于 NTLM 的身份验证。到目前为止,我只能从 Internet Explorer 打开 WSDL,当我在 Firefox 上打开它时,它给我一个空白页面并且没有错误。

我想做的是使用 wsimport 工具从 Java 访问 Web 服务,但我无法进行身份验证。我已经在 ~/.metro/auth 中创建了一个文件夹,并将以下行放在那里:

http://userfoobar:passforbar@192.168.0.170: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 和运行 NAV Web 服务的 Windows 7 机器上都试过了。我是否必须在 NAV 中执行任何其他配置?是否有任何特殊技巧可以让它发挥作用?

最佳答案

默认情况下,Nav 使用 Windows Active Directory 授权。我不确定 wsimport 在 java 中做了什么,但 url 中提供的凭据不太可能起作用。您需要通过协商过程来授权服务器或在服务器上的 Nav Server Administration 管理单元(或配置文件)中更改授权类型。

参见 here关于凭证类型和 here是如何配置服务器。另请参阅 Freddy 博客中关于 how to connect to Nav from Java 的有用帖子(我相信它仍然适用,尽管它适用于 Nav 2009)。

soapUI 可以处理 NTLM 授权类型,因此您可以在其日志中通过协商过程查看所有请求和响应。

关于java - 使用 Java 访问 Dynamics NAV Webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21940410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com