首页 > 其他分享 >【jmeter系列】WebService(soap)请求

【jmeter系列】WebService(soap)请求

时间:2023-07-29 21:34:14浏览次数:44  
标签:Body 请求 元素 Envelope soap 消息 jmeter SOAP WebService

一、SOAP Web服务请求组成

  1. Envelope(信封):SOAP消息的最外层包装,用于标识SOAP消息的开始和结束。一个SOAP消息只包含一个Envelope元素。

  2. Header(头部):可选的部分,用于包含与消息相关的元数据信息,如身份验证信息、加密方法等。Header元素是Envelope元素的直接子元素。

  3. Body(消息体):必需的部分,用于封装实际的操作请求或响应数据。Body元素是Envelope元素的直接子元素。

  4. Fault(错误):可选的部分,用于在发生错误时返回错误信息。Fault元素包含了错误码、错误描述等信息,并在Body元素中出现。如果请求未出错,就不包含Fault元素。

  5. SOAP消息的XML结构示例:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    <soap:Header>
        <!-- 可选的头部信息 -->
    </soap:Header>
    <soap:Body>
        <!-- 请求或响应数据 -->
    </soap:Body>
</soap:Envelope>

在Body中,可以包含一个或多个操作元素,每个操作元素表示一个具体的操作,如"GetCustomers"或"UpdateOrder"。操作元素可以包含输入参数和输出结果。

SOAP消息使用HTTP协议进行传输,通常通过HTTP POST请求发送到Web服务的URL地址,并在请求的Content-Type中指定为"application/soap+xml"。请求的消息体中包含了由Envelope、Header和Body构成的SOAP消息。

服务端接收到请求后,解析SOAP消息,根据消息中的操作信息执行相应的操作。处理完请求后,发送由Envelope、Header和Body构成的SOAP消息作为响应返回给客户端。

二、具体示例

接口练习地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo

请求参数:

POST /WebServices/MobileCodeWS.asmx HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://WebXml.com.cn/getMobileCodeInfo"
 
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getMobileCodeInfo xmlns="http://WebXml.com.cn/">
      <mobileCode>string</mobileCode>
      <userID>string</userID>
    </getMobileCodeInfo>
  </soap:Body>
</soap:Envelope>

响应:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
 
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getMobileCodeInfoResponse xmlns="http://WebXml.com.cn/">
      <getMobileCodeInfoResult>string</getMobileCodeInfoResult>
    </getMobileCodeInfoResponse>
  </soap:Body>
</soap:Envelope>

 

 

  

  

 

标签:Body,请求,元素,Envelope,soap,消息,jmeter,SOAP,WebService
From: https://www.cnblogs.com/xfbk/p/17590584.html

相关文章

  • jmeter中返回值提取并存储,逻辑控制器
    jmeter多用户登陆保存token到本地使用-风吹稻香-博客园(cnblogs.com)Jmeter之逻辑控制器_jmeter逻辑控制器_Hi~晴天大圣的博客-CSDN博客jmeter中返回值提取并存储_jmeter提取响应结果并保存_子衡fa的博客-CSDN博客......
  • jmeter 项目混合接口实战记录
    1. 项目结构:1.1混合接口,创建事务控制器,将多个接口,按照业务逻辑,串行排列组合,接口之间采用后置beanshell或者jsonpath、正则关联 1.1 第一个接口beanshell 取样器,编辑参数化需要的随机参数,防止数据命中缓存importorg.apache.jmeter.config.Arguments;importjava.te......
  • Jmeter45 Dubbo Sampler 插件及其教程
    转载Jmeter(五十)DubboSampler-紫陌花间客-博客园(cnblogs.com) 一、前言随着分布式普及,日常工作中多少会接触到dubbo,对于dubbo接口的调用或者压测等等。调用最简单的方式便是telnet,或者泛化调用的方式。进入telnet命令行,invoke对应方法以及传入对应的参数即可。当然......
  • 使用JMeter连接达梦数据库的步骤和示例
    引言:本文将介绍如何使用JMeter连接达梦数据库,并提供连接达梦数据库的步骤和示例,帮助您快速开始进行数据库性能测试。步骤:1.下载并安装JMeter:首先,从JMeter官方网站下载并安装最新版本的JMeter。2.添加JDBC驱动:下载并添加达梦数据库的JDBC驱动jar文件到JMeter的lib目录下,例如`......
  • 【JMeter】JMeter添加插件
    JMeter添加插件目录JMeter添加插件一、前言二、插件管理器三、推荐插件1.CustomThreadGroups(1)UltmateThreadGroup(2)SteppingThreadGroup2.3BasicGraph一、前言​ 在我们的工作中,我们可以利用一些插件来帮助我们更好的进行性能测试。今天我们来介绍下Jmeter怎么添加插件......
  • jmeter获取token
    引用直接使用${token}{"code":1,"message":"登录成功","data":{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqc29uIjoie1wic3RhZmZJZFwiOjEsXCJzeXN0ZW1cIjpcImdvdlwifSJ9.DJhipR7Y5uzMHV8yfK2jkO0rlHKrpjaM9ve-tt......
  • Jmeter配置起来太繁琐?试试RunnerGo
    在用jmeter做性能测试时想看完整一点的测试报告,想配置阶梯模式来压测,想配置不同的接口并发这些都需要安装插件并且影响机器性能,想做自动化测试还得放到jenkins,这些配置起来太繁琐。今天给大家推荐一款测试平台RunnerGo,内置各种测试工具解决这些痛点。不需要扩展插件即可实时查看测......
  • JMeter07-JMeter运行原理
    JMeter支持的协议Web:HTTP、HTTPSSOAP简单对象访问协议FTP、TCPLDAP:轻量目录访问协议面向消息的中间件(通过JMS)JMeter包括JMSAPIjar包,但不包括JMS客户端实现。如果要运行JMS测试,则需要从JMS提供下载适当的jar包。邮件:SMTP(S)、POP3(S)、IMAP(S)JDBC、MongoDB(NoSQL)......
  • jmeter 使用https协议(jmeter不添加ssl证书的解决方案)
    使用https协议时,jmeter不添加ssl证书的解决方法:使用https协议,访问时将域名替换成真实的IP地址及端口号,如下图: ......
  • Jmeter(二十二)jmeter命令行的执行方式以及常用参数
    jmeter命令-n-t:-n  表示使用非GUI的方式运行;-t  表示指定jmeter的测试脚本; -l :-l  表示生成指定的报告文件,一般使用jtl格式来保存,因为jtl文件可以使用jmeter任意监听器打开;jmeter.save.saveservice.output_format=xmljmeter.save.saveservice.response_da......