gpt4 book ai didi

java - 如何从具有 NTLM 身份验证的 Java 客户端调用基于 .Net 的 Web 服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:11 26 4
gpt4 key购买 nike

我想从 Java 客户端代码调用基于 .NET 的 Web 服务。我使用 wsimport 工具生成了 JAX-WS stub 。

这是在 .NET 客户端中创建凭据的方式-

NetworkCredential credential = new NetworkCredential(userName, password, "domain");
client.ClientCredentials.Windows.ClientCredential = credential ;

我们如何在 Java Client 中做类似的事情?我搜索了很多,发现一些帖子建议进行 NTLM 身份验证,但我不确定该怎么做。

最佳答案

JAX-WS 不支持 NTLM 身份验证,但您仍然有几个选择

备选方案 1:创建您自己的身份 validator 并将其设置为默认值,它将用于您所有的 HTTP 通信。仅当通信是 server2server 时才使用此替代方法,因为使用多个多个用户帐户并不是最佳选择。你可以在这里看到如何实现它的代码:http://docs.oracle.com/javase/7/docs/technotes/guides/net/http-auth.html

备选方案 2:另一种选择是使用 Axis2,它在后台使用 HTTPClient。它将选择适合您的场景的最佳身份验证方法。 axis2 client NTLM authentication

注意:Axis2 在某些版本的 NTLM 上存在问题,有些人建议迁移到 CFX CXF SOAP Client with NTLM to SharePoint

这些替代方案要求您在代码中包含新的库,希望对您有所帮助

关于java - 如何从具有 NTLM 身份验证的 Java 客户端调用基于 .Net 的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583718/

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