1

我正在尝试从 Coldfusion 中使用 Dynamics NAV Web 服务。但是它失败并显示此消息:

... { http://xml.apache.org/axis/ }HttpErrorCode:401 ...

我已经在一个 C# 项目中测试了相同的 Web 服务,这就像一个魅力。所以它确实是一个安全问题。

互联网上有很多关于调用 Dynamics NAV webservices 的讨论,例如参见http://blogs.msdn.com/b/freddyk

问题似乎是如何让 Coldfusion 使用 NTLM 身份验证。在 ColdFusion 中的 NTLM 身份验证上有一篇关于此主题的帖子,但在从 Coldfusion 调用 web 服务时,我看不到如何实现这一点。

可以使用 C# 创建中间服务并从 Coldfusion 中调用此服务。但我正在寻找一种直接的方法。

有任何想法吗?

谢谢!

4

1 回答 1

0

默认情况下,Axis(ColdFusion 中使用的 Web 服务器)仅支持基本身份验证,但 NAV 仅支持 Windows 身份验证(NTLM 或协商,取决于服务器配置键 WebServicesUseNTLMAuthentication 的值)。

我发现这个页面描述了一种解决方法。万一链接失效,解决方法是将 Axis 配置为使用 Jakarta Commons HTTPClient 库。

您需要编辑 client-config.wsdd Axis 配置文件,并更改此行:

<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender" />;

对此:

<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender" />;
于 2012-06-12T12:51:11.137 回答