Jmeter - 如何将XML请求发送到服务器?

时间:2015-05-13 05:11:54

标签: xml web-services jmeter httprequest

我的测试计划中有一个HTTP请求采样器。我已经给出了我的服务器名称或IP,端口和URL。我选择了Body Data选项卡并以这种方式提供了XML请求:

<Request>
    <Header><Log><Level>None</Level></Log></Header>
    <Body>
        <Action>
            <GetService>
                <Code>ABC</Code>
                <CodeValue>XYZ</CodeValue>
            </GetService>
        </Action>
    </Body> </Request>

然而,这就是我作为采样器结果得到以下内容:

  

响应代码:非HTTP响应代码:java.net.ConnectException   响应消息:非HTTP响应消息:连接被拒绝

     

回复标题:

     

HTTPSampleResult字段:   的ContentType:
  DataEncoding:null

我确定我可以ping我的服务器。它正常运行。

我还缺少其他的东西吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我觉得最简单的方法是使用SOAP / XML-RPC请求这类东西。只需输入您要发送的XML和URL,并确保如果您不使用它,则取消选中Send SOAPAction。

SOAP/XML-RPC Request

你遇到的问题似乎与此无关。看起来JMeter无法连接到服务器。您应该使用浏览器手动尝试并转到要将XML发送到的URL。你应该至少得到400错误。 “拒绝连接”看起来更像是服务器没有运行。

答案 1 :(得分:0)

  1. 您的浏览器使用代理连接到Internet而JMeter没有。尝试使用单个JMeter GET请求命中http://example.com域,如果失败,请通过以下命令行参数configure JMeter to use the same proxy as browser does

    'styles.css' 
    
  2. 仔细检查您的-H, --proxyHost <argument> Set a proxy server for JMeter to use -P, --proxyPort <argument> Set proxy server port for JMeter to use -N, --nonProxyHosts <argument> Set nonproxy host list (e.g. *.apache.org|localhost) -u, --username <argument> Set username for proxy server that JMeter is to use -a, --password <argument> Set password for proxy server that JMeter is to use Server Name值,然后通过telnet命令对其进行验证。如果telnet能够连接 - JMeter将能够以及错误状态表明无法建立连接。
  3. 确保使用正确的HTTP方法。
  4. 您可能还需要传递相关的Content-Type标头值,例如Porttext/xml通过HTTP Header Manager