3

我正在尝试使用 Jmeter 测试 Web 服务。Web 服务受 NTLM 身份验证(Windows)的保护。我可以使用WebService(SOAP) Request采样器加载 WSDL。目前,它仅在我将代理服务器与此SO 答案中提到的BurpSuit 一起使用时才有效(而不是 SOUP UI,我将 Jmeter 与 BurpSuite 一起使用)。

但是我不想使用代理服务器,而是想直接在 Jmeter 中使用带有 NTLM 身份验证的 Web 服务。我已经尝试过HTTP Authentication Manager使用 ntlm 身份验证。但它仍然给出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>
4

3 回答 3

3

我设法使用SOAP/XML-RPC Request Sampler启用Use keepAlive选项(当然在HTTP Authentication Manager.

于 2010-07-09T06:58:54.447 回答
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> 

于 2012-07-26T12:24:34.417 回答
0

在 HTTP 授权管理器中,您是否为“基本 URL”字段提供值?
如果是这样,它的形式是:https ://${soap_domain}(注意安全的 http)。

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

于 2010-07-08T21:28:54.080 回答