2012-06-08 148 views
1

我正尝试从Coldfusion内部使用动态导航Web服务。然而,它失败,此消息:Coldfusion消费动态导航Web服务

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

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

有一个关于调用动态NAV web服务在互联网上相当长的一段讨论,参见例如http://blogs.msdn.com/b/freddyk

的问题似乎是如何让ColdFusion的使用NTLM身份验证。在NTLM Authentication in ColdFusion上有一个关于此主题的帖子,但是我在调​​用Coldfusion的web服务时未能看到如何实现这个。

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

任何想法?

谢谢!

回答

0

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

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

您需要编辑客户config.wsdd中轴线配置文件,并更改该行:

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

这样:

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

嗨亚历克斯,感谢您的回复。看起来很有希望,我会在测试后回来! – Roeland