将JMeter与REST Web服务和XML正文一起使用时,未检测到有效负载

Nat*_*ill 2 jmeter http-post

我正在使用JMeter进行负载测试.我的测试包含一个简单的POST请求.当我执行此请求时,服务器在其错误日志中说No Payload Detected.我已经验证服务器正在接收Post请求,并且我在Raw Post Body中尝试了不同的文本.

接下来,为了确保它不是服务器的问题,我使用了一个不同的Http Request程序(Wiztools rest客户端)来发送具有相同内容的帖子.它工作正常,不会No Payload Detected抛出任何错误.

我目前的理论是JMeter和服务器都进行解析.我知道服务器会这样做,因为它正在寻找一小块数据,并且JMeter的解析会破坏这一小块数据.

总而言之,我的问题是"JMeter做什么解析?".
我已经找到了这个答案,我唯一知道它解析的是${VARNAME}.

我发送的文字如下:

<IpReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">
  <ProductReviewId>12345</ProductReviewId>
  <DepartmentCode>ABC</DepartmentCode>
  <ProductTitle>Test of a teaser</ProductTitle>
  <ProjectId>2</ProjectId>
  <ProductCodePD>ICS-1139150</ProductCodePD>
  <Priority>Pre-Approved</Priority>
  <Status>Approved</Status>
  <IpStatus>Submitted</IpStatus>
  <EvalStatus>Approved</EvalStatus>
  <EvalNotes>No Limitations - message from eval</EvalNotes>
  <Notes>Notes test</Notes>
  <IsInClarity>true</IsInClarity>
  <IsPreRelease>true</IsPreRelease>
  <IsApproved>true</IsApproved>
  <IsCOREvalIP>false</IsCOREvalIP>
  <Elements>
    <IpReportElement>
      <IpReportElementLineItemId>21774</IpReportElementLineItemId>
      <ElementType>ReportingStatement</ElementType>
      <Contributor>Sample Contributor</Contributor>
      <Description>test</Description>
      <LocationInProduct>test</LocationInProduct>
      <ReportingStatementId>7</ReportingStatementId>
      <IpCodeId>3</IpCodeId>
      <Links>
        <IpReportLink>
          <IpReportLinkId>25982</IpReportLinkId>
          <Name>Link</Name>
          <Url>https://example.org/</Url>
        </IpReportLink>
      </Links>
    </IpReportElement>
  </Elements>
  <CustomData>&lt;site&gt;ldsorg&lt;/site&gt;
&lt;site-root&gt;/preview/ldsorg/&lt;/site-root&gt;
&lt;correlation-document-id&gt;123456-eng&lt;/correlation-document-id&gt;
&lt;post-to-server&gt;l12773:9239&lt;/post-to-server&gt;
</CustomData>
  <ApprovalNumber>2013-1139150-I</ApprovalNumber>
  <EvalApprovalNumber>2013-1139150-E</EvalApprovalNumber>
</IpReport>
Run Code Online (Sandbox Code Playgroud)

这是JMeter的截图.这是唯一的请求,没有其他配置元素: JMeter截图

UBI*_*ACK 8

您可能还需要添加HTTP标头管理器作为HTTP请求的子项,以设置一些类似内容类型的标头:

添加HTTP标头