使用SoapUI和Windows身份validationtestingWeb服务

是否有可能包含Windows域凭据来使用SOAP UItesting我的Web服务?

我发现了一个属性页面,但IIS只是以“错误的凭据”进行响应。

SoapUI似乎不直接与NTLM身份validation一起工作,但您可以使用代理(如Burp Suite)为您执行身份validation。

  1. http://portswigger.net/burp/下载Burp Suite,然后打开它。
  2. 在Burp的“Proxy:Intercept”选项卡上,点击buttonclosures拦截。
  3. 在Burp的“Proxy:Options”选项卡上,确保将其设置为未使用的端口,默认值为8081
  4. 在Burp的“选项”选项卡上,勾选“执行万维网身份validation”并添加一个您希望点击的服务器的设置。 同时勾选“提示input身份validation失败的凭据”
  5. 切换到打嗝的“代理:历史”选项卡,以便您可以看到请求通过。
  6. 在SoapUI中,select“文件”>“首选项”,然后select“代理设置”。 input主机“localhost”和端口“8081”。
  7. 正常使用SoapUI。 它将通过Burp Proxy发送请求,Burp Proxy将为您执行NTLM身份validation。

soapUI 4.5刚刚添加了对NTLMv2的支持,否定了Burp Suite的需求。

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

这个问题在本文中有很好的描述:

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

我find的最简单的解决方法是使用Fiddler作为代理。 在Fiddler的规则菜单上,select“自动validation”。 然后更新您的SoapUI首选项以使用fiddler作为代理(默认位置是localhost:8888)。 现在您的电话将被包裹在一个可以委托的凭证中。

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

我认为SoapUI可能只支持WSDL的NTauthentication。

你可以在这里看到一些细节:

(顺便说一下 , 这个谷歌search不看好你 !)

当前版本的SoapUI 4.5.1不适用于Windows身份validation,但每晚构build版本运行良好。

下载每晚构build版本