47

是否可以包含 Windows 域凭据以使用 SOAP UI 测试我的 Web 服务?

我找到了一个属性页面,但 IIS 只是响应“错误的凭据”。

4

5 回答 5

58

SoapUI 似乎不能直接使用 NTLM 身份验证,但您可以使用 Burp Suite 等代理来为您进行身份验证。

  1. 从http://portswigger.net/burp/下载 Burp Suite并启动它。
  2. 在 Burp 的“代理:拦截”选项卡上,单击按钮关闭拦截。
  3. 在 Burp 的“代理:选项”选项卡上,确保将其设置为未使用的端口,默认为 8081
  4. 在 Burp 的“选项”选项卡上,勾选“进行 www 身份验证”并为您希望访问的服务器添加一个设置。还要勾选“在身份验证失败时提示输入凭据”
  5. 切换到 Burp 的“代理:历史”选项卡,这样您就可以看到正在处理的请求。
  6. 在 SoapUI 中,选择 File > Preferences,然后选择“Proxy Settings”。输入主机“localhost”和端口“8081”。
  7. 像往常一样使用 SoapUI。它将通过 Burp 代理发送请求,该代理将为您执行 NTLM 身份验证。
于 2009-09-18T16:28:11.300 回答
13

soapUI 4.5 刚刚添加了对 NTLMv2 的支持,从而消除了对 Burp Suite 的需求。

于 2012-03-07T15:09:30.897 回答
6

接受的解决方案将在大多数情况下工作。但是,如果该服务使用委托来访问其他服务器上的资源,您将遇到 Burp 代理使用的 NTLM 身份验证的双跳问题。代理将成功对服务进行身份验证,但服务使用委托对其他资源进行的后续调用将失败。

这篇文章很好地描述了这个问题:

http://blogs.msdn.com/b/besidethepoint/archive/2010/05/09/double-hop-authentication-why-ntlm-fails-and-kerberos-works.aspx

我为此找到的最简单的解决方法是使用 Fiddler 作为代理。在 Fiddler 的规则菜单上,选择“自动验证”。然后更新您的 SoapUI 首选项以使用 fiddler 作为代理(默认位置是 localhost:8888)。现在,您的呼叫将包含在可以委托的凭证中。

如果您使用 LoadUI 执行 SoapUI 测试用例,SoapUI 测试运行器将使用您的 SoapUI 代理设置,并且您的调用将继续工作。

于 2014-06-17T22:36:39.243 回答
1

我认为 SoapUI 可能只支持 WSDL 的 NT 身份验证。

你可以在这里看到它是如何实现的一些细节:

(顺便说一句,这个谷歌搜索对你来说看起来并不乐观!)

于 2009-05-27T10:57:37.353 回答
1

当前版本的 SoapUI 4.5.1 不适用于 Windows 身份验证,但夜间构建版本再次运行良好。

下载每晚构建版本

于 2013-04-02T12:28:32.063 回答