Secure Webservice(NTLM) - Jmeter

时间:2010-06-28 06:15:52

标签: authentication web-services ntlm jmeter

我正在尝试使用Jmeter测试Web服务。 Web服务受NTLM身份验证(窗口)保护。我可以使用WebService(SOAP) Request采样器加载WSDL。 目前它只适用于我在本SO answer中提到的BurpSuit使用代理服务器(而不是SOUP UI,我使用Jmeter和BurpSuite)。

但是我不想使用代理服务器,而是希望在Jmeter中使用NTLM身份验证直接使用Web服务。我已经尝试使用ntlm身份验证HTTP Authentication Manager。但它仍然会在回复中提供401 Authorization Required

感谢您的帮助。

取样器结果。

Thread Name: WebSVC 1-1
Sample Start: 2010-06-28 13:54:08 IST
Load time: 752
Latency: 0
Size in bytes: 401
Sample Count: 1
Error Count: 0
Response code: 200
Response message: OK

Response headers:
Date=Mon, 28 Jun 2010 08:24:08 GMT
Server=Apache/2.2.9 (Unix) DAV/2 mod_jk/1.2.26
Connection=close
WWW-Authenticate=NTLM


SampleResult fields:
ContentType: text/html; charset=iso-8859-1
DataEncoding: iso-8859-1

和回复

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>

3 个答案:

答案 0 :(得分:3)

我设法使用启用了SOAP/XML-RPC Request Sampler选项的Use keepAlive启用了它(在HTTP Authentication Manager的帮助下使用了{。}}。

答案 1 :(得分:2)

您可以将安全参数添加到标题中。

 <soapenv:Header>  <wsse:Security soapenv:mustUnderstand="1" 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
         <wsse:UsernameToken> 
            <wsse:Username>USERNAME_PARAM</wsse:Username> 
            <wsse:Password 
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PASSWORD_PARAM</wsse:Password> 
         </wsse:UsernameToken> 
      </wsse:Security> 

答案 2 :(得分:0)

在HTTP授权管理器中,您是否为“基本URL”字段提供了值?
如果是,请使用以下格式: https :// $ {soap_domain}(请注意安全的http)。

我的授权失败问题困扰了我一段时间,但发现一个快速的解决方法是将基本网址字段留空并仅提供用户名和密码。