无法从JMeter授权到WCF基本身份验证Web服务

时间:2017-07-07 08:53:14

标签: web-services wcf jmeter basic-authentication

我正在使用JMeter使用Basic Auth运行测试到WCF Web服务,服务正常,凭据正确(我从SOAPUI成功运行它们)。

在我的所有研究中,我都配置了“HTTP标头管理器”和#39;和' HTTP基本身份验证'在提交时我无法看到我的实际HTTP标头有什么问题:

enter image description here

到目前为止我做了什么:

在对SOAPAction进行一些操作之后,我将它与可行的SOAPUI对齐,但JMeter基本身份验证仍然失败: enter image description here

HTTP响应如下,但它是标准的(当我有意输入错误的凭据时,我从SOAPUI得到这个)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</faultcode><faultstring xml:lang="en-ZA">An error occurred when verifying security for the message.</faultstring></s:Fault></s:Body></s:Envelope>

我在下面包含了绑定配置,它使用标准的basicHttpsBinding&#39; s(不是wsHttpBinding):

<service name="PayM8.Axis.PaymentsService.V1.HyperLink.HyperLinkService">
        <endpoint address="" binding="basicHttpsBinding" bindingConfiguration="DefaultHttpsBinding"
          contract="PayM8.Axis.PaymentsService.V1.HyperLink.IHyperLinkService"/>
</service>

<basicHttpsBinding>
    <binding name="DefaultHttpsBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
      <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="Basic" />
      </security>
    </binding>
</basicHttpsBinding>

我的JMeter基本身份验证HTTP请求可能有什么问题?

2 个答案:

答案 0 :(得分:1)

Web服务可能具有不同的身份验证类型,您获得的错误是缺少WS-Security标头。

有多种方法可以将标头添加到请求中,您可以尝试使用具有某些身份验证类型支持的JMeterSoapPlugin

您还可以查看Take the Pain out of Load Testing Secure Web Services,了解如何绕过不同类型的Web服务身份验证。

答案 1 :(得分:0)

简而言之,Dmitri提到我们正在使用WS Security,当您配置如下所示的安全模式时(在BasicHttpBindings和wsHttpBinding下都会启用)

<security mode="TransportWithMessageCredential">

通常基本身份验证使用HTTP Header添加以下内容:

授权:基本QWxhZGRpbjpPcGVuU2VzYW1l

使用WS Security时,用户名和密码包含在SOAP有效负载本身中。当我在JMeter HTTP请求中的HTTP Body数据中添加对象时,它可以正常工作。

JMeter HTTP Request with wsse:Security

有用的工具,如果您不想弄清楚wsse:security对象的内容,我建议使用SOAPUI将其发送出去,然后从SOAPUI日志中获取格式化的对象。请记住将WSS密码类型设置为PasswordText。

enter image description here