如何在JMeter中使用SOAP登录SalesForce?

时间:2018-03-30 20:36:10

标签: soap jmeter salesforce

我的应用程序通常会要求用户使用此URL登录SalesForce。

https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=ABC&redirect_uri=http://localhost:3001/callback_URL&state=5abe9eb7b39bae29fcc2dcf9

如果成功将调用callbackURL并让应用程序知道登录成功。我想在JMeter中模仿这种行为。

我尝试完全遵循此链接中的教程:

http://blog.deadlypenguin.com/blog/2017/06/29/jmeter-logging-salesforce/

但它不会返回会话ID。我做错了什么?

以下是我按照教程设置的方法:

这是步骤中的SalesForce信息:凭据 enter image description here

以下是登录请求,如步骤中所述:登录 enter image description here

以下是登录请求的Header配置,如步骤中所述:loggin in enter image description here

以下是我如何保存轮换,如步骤中所述:存储会话ID enter image description here

以下是请求发送的内容:

POST http://test.salesforce.com/services/Soap/c/42.0

POST data:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
    <soapenv:Header></soapenv:Header>
    <soapenv:Body>
        <urn:login>
            <urn:username>USERNAME</urn:username>
            <urn:password>PASSWORDTOKEN</urn:password>
        </urn:login>
    </soapenv:Body>
</soapenv:Envelope>

[no cookies]

Request Headers:
Connection: close
Content-Type: text/xml: charset=utf-8
SOAPAction: "urn:enterprise.soap.sforce.com/Soap/loginRequest"
Content-Length: 390
Host: test.salesforce.com
User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_161)

以下是回复:

Formatted XML:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>INVALID_LOGIN</faultcode>
         <faultstring>INVALID_LOGIN: Invalid username, password, security token; or user locked out.</faultstring>
         <detail>
            <sf:LoginFault xsi:type="sf:LoginFault">
               <sf:exceptionCode>INVALID_LOGIN</sf:exceptionCode>
               <sf:exceptionMessage>Invalid username, password, security token; or user locked out.</sf:exceptionMessage>
            </sf:LoginFault>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

我确定我使用的用户名和密码是正确的,因此必定会有其他错误。我在教程中注意到它在密码后附加了Token。我从哪里得到的?它在谈论什么标志?

1 个答案:

答案 0 :(得分:1)

我不是销售人员的专家。但是根据您的描述,您似乎没有传递安全令牌以及引用中显示的密码。因此,需要身份验证&#34;密码+安全令牌&#34;。从你的第一个快照,我得到了两个。即$ {SF_Password} $ {SF_Token}。

尝试一下,如果它能解决问题,请告诉我们。

此致