在soapUI的可让您只需从WSDL基础服务创建一个基于WSDL服务的符合标准的模拟。被称为“MockService”,这可以直接从内部的soapUI运行,命令行浇道,或甚至标准servlet容器。

一个MockService符合公认的WSDL,SOAP,HTTP标准,客户应该能够使用它,就好像它是一个真正的服务。

1. MockService模型

MockServices模拟通过暴露任意数量的MockOperations提供他们的服务。其中每个又可以包含任何数量的配置的MockResponse消息,下面的模型:

  • MockService,包含

    • MockOperations,包含

      • MockResponses

在soapUI的一个例子MockService如下所示;

这里MockService包含四个MockOperations其中每个包含不同数量MockResponse消息。

当接收由MockService一个SOAP请求和分派到特定MockOperation,相应MockResponse基于所配置的MockRequest分派器被选择。

每个MockOperation对应在您的测试项目的一个WSDL服务的WSDL操作,包含的MockResponse消息从与操作相关联模式中创建。这并不意味着一个MockResponse必须遵守相关联的模式,它可以返回任意XML或短信,你可能例如配置它对完全不同的操作各返回一个响应消息,从而使您可以测试有能力处理无效的和意想不到的响应消息。

创建MockService是直线前进,最简单的就是从WSDL服务通过服务右键菜单生成它Generate MockService action。在打开的对话框让你选择哪些操作应该被Mock,并填写MockService上的路径或端口:

确保路径和端口设置控制在其上MockService可用,确保尚未使用你的系统上运行的其他服务器软件选定端口的URL。

快速提示: 您可以在同一端口和路径上创建多个MockServices,soapUI的会问每个依次调度传入的请求,直到请求被处理。

设置所需的配置和后点击OK,一个MockService被添加到项目中,双击它打开MockService窗口:

顶部包含一个操作选项卡显示配置MockOperations,下面就是标签添加的说明:

  • 启动脚本:当MockService开始调用,用它来 ​​初始化
  • 停止脚本:调用时MockService停止,用它来 ​​清理,自定义报表等。
  • OnRequest脚本:调用时MockService接收来自外部客户端的请求,用它来 ​​提供定制的mocking行为。
  • AfterRequest脚本:当请求到MockService已处理后被调用,用于使用该定制数据收集或报告。

2.运行您的MockService

当点击运行按钮,MockService是soapUI的内立即启动,就可以看到这一点,如果你点击日志选项卡的soapUI窗口的底部;

该MockService现在已准备好根据配置的路径和端口处理传入的SOAP请求。这些将基于其内容被分派到的相应MockOperation,如果没有匹配MockOperation会有一个标准的SOAP错误返回:

在这里,我们已经发送SOAP请求到一个无mocking的MockService,返回错误信息。

2.1。查看分派消息

消息日志在底部显示MockService最后的收到的请求; 双击一个条目以查看请求和返回的响应的实际内容,例如:

快速提示: 您可以通过取消选中启用选项在消息日志查看器禁用日志,这将节省内存和CPU性能。

3.查看协议

如上所述,监听到配置的路径和端口上的请求后该服务立即启动。此外,它也暴露了MockServic的WSDL网址; 例如输入HTTP://本地主机:8088 / mockSampleServiceBinding WSDL在浏览器中显示的WSDL:

请注意,MockOperation可以从潜在地两个不同的WSDL包含MockOperations,在这种情况下,生成的WSDL将是所有被mock的包装WSDL。

也暴露了WSDL包含实际的HTTP地址暴露在MockService:

如果你想通过WSDL从远程计算机来访问你的MockServices,那么这个选项对话框可以修改主机域。重命名它:

这个结果在下面的节点暴露在WSDL:

4. MockService请求调度

有许多可用设置有关的soapUI如何分派收到的消息,可通过左下方的MockService属性选项卡:

如下所示:

  • 匹配的SOAP版本:需要使用和所配置MockOperation请求相同的SOAP版本。如果它被设置为false一个SOAP 1.2请求可以被分派到一个SOAP 1.1 MockOperation。
  • 需要SOAP动作:该选项控制是否需要soapUI检查SOAP动作HTTP头分配到正确的MockOperation。
  • Dispatch的回应:you might want to use the ReplyTo Header in a request when working with WS-Addressing to direct the response to a soapUI MockService. If this is the case soapUI will actually be receiving a response message, which is not supported unless this specific option is set to true, in which case soapUI will dispatch the request as if it was a request for the received response. Further, if the received response is a SOAP Fault, for example via the Fault-To header, an option in the MockService Options dialog is available for telling soapUI how to dispatch this since Fault messages usually are generic:

SOAPUI使用教程-MockServices工作原理的更多相关文章

  1. git教程1-git工作原理与初始化仓库

    一.git工作原理 1.git是版本控制器,因此管理的是版本,每一次提交commit就是新建一个版本. 2.分支:git主分支可以存放一个阶段已经完成好的版本,而修改版本则放置在次分支上. 3.融合: ...

  2. 全网最全最细的fiddler使用教程以及工作原理

    目录:导读 一.Fiddler抓包工具简介 二.Fiddler工作原理 三.Fiddler安装 四.Fiddler界面介绍​ 五.Fiddler菜单栏介绍 六.Fiddler工具栏介绍 七.Fiddl ...

  3. C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)

    黑夜给了我黑色的眼睛,我决定录视频到天明.半年前的现在,我还在苦逼着加着班,半年后的今天我依旧苦逼着加着班.不过现在的是为自己加班,作为一个资深程序小白,一个月前我光荣的成了一个不称职的资本家,不称职 ...

  4. 【CC2530入门教程-06】CC2530的ADC工作原理与应用

    第6课  CC2530的ADC工作原理与应用 广东职业技术学院  欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...

  5. AppScan工作原理&操作教程

    一.AppScan的工作原理 对一个综合性的大型网站来说,可能存在成千上万的页面.以登录界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登录信息,网站需要检查是否正确,这 ...

  6. WireGuard 教程:WireGuard 的工作原理

    原文链接:https://fuckcloudnative.io/posts/wireguard-docs-theory/ WireGuard 是由 Jason Donenfeld 等人用 C 语言编写 ...

  7. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  9. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

随机推荐

  1. Windows操作系统

    Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...

  2. 如何用java自带的工具生成证书

    一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...

  3. 如何将EXCEL表导入ORACLE数据库中?【转】

    来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...

  4. r-cnn学习(四):train_faster_rcnn_alt_opt.py源码学习

    论文看的云里雾里,希望通过阅读其代码来进一步了解. 参考:http://blog.csdn.net/sloanqin/article/details/51525692 首先是./tools/train ...

  5. NSCache

    今天在优化的时候,用了NSCache,感觉没什么两样(视觉上).按理内存缓存,怎么也比从硬盘读取的要快.. dispatch_async(dispatch_get_global_queue(, ), ...

  6. HttpClient, HttpClientHandler, and WebRequestHandler Explained

    原文地址 https://blogs.msdn.microsoft.com/henrikn/2012/08/07/httpclient-httpclienthandler-and-webrequest ...

  7. 日志解析LogParse启动参数配置

    -task task_stat1001to1010.yaml -log log4j_stat1001to1010.xml 用绝对路径

  8. 【原创】js中input type=file的一些问题

    1.介绍 在开发中,文件上传必不可少,input[type=file] 是常用的上传标签,但是它长得又丑.浏览的字样不能换,但是他长得到底有多丑呢.我们来看看在不同浏览器里的样子吧. <inpu ...

  9. <%#Eval if判断用法

    1.绑定Repeater 基础用法 <%#Eval("RoleID")%> 2.简单判断用法 <td> <%# Convert.ToBoolean(E ...

  10. hive的数据导出方式

    hive有三种导出数据的方式 >导出数据到本地 >导出数据到hdfs >导出数据到另一个表   导出数据到本地文件系统 insert overwrite local director ...