WSDL文件是测试基于soap的服务,他们定义实际暴露服务和要求SoapUI生成测试,要求信息,验证和MockServices。

SoapUI支持最广泛使用的1.1版本的WSDL和SOAP 1.1和1.2对应绑定。

让我们挖到WSDL相关功能SoapUI通过创建一个新项目并导入一个简单的公开可用的WSDL(http://www.webservicex.com/CurrencyConvertor.asmx?wsdl ),在SoapUI工作区中创建一个新项目如下:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码

按下OK后,SoapUI将指定的WSDL和解析其内容加载到对象模型如下:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码_02

WSDL可以暴露任意数量的服务(WSDL-speak绑定),公开一定合同(“portType”)指定的协议,上面我们可以看到相同的合同和两个绑定接触,一个用于SOAP 1.1(“CurrencyConverterSoap”),另一个用于SOAP 1.2(“CurrencyConverterSoap12”)。

提示:SoapUI缓存wsdl在项目文件打开时避免不必要的网络访问和使用一个项目。 如果你想禁用这个,迫使SoapUI总是使用远程验证WSDL,然后等改变“Cache Definitions“左下部包含项目属性为false。

1。 使用wsdl

让我们深入这个WSDL更多;在上面的导航器中双击第一个服务图标将打开如下窗口:


soapui 生成test 代码 soapui生成wsdl文件_选项卡_03

第一个选项卡提供一些一般性的概述在WSDL信息;它的URL,目标名称空间,等。让我们切换到WSDL内容选项卡有一个更详细的看看WSDL本身:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码_04

左边的导航树让我们浏览的内容WSDL,我们可以看到右边的WSDL文件本身。 已经有多个文件涉及进口(通过WSDL或XML模式,包括进口),这些都将显示为选项卡允许浏览整个合同的权利(左侧树中对应的条目)。

工具栏按钮包括“创建文档”选项(右二),开放并指定所需的文件夹为我们生成以下:


soapui 生成test 代码 soapui生成wsdl文件_选项卡_05

2。 验证WSDL对ws - i基本概要

WSDL和SOAP最初创建以来,众多的标准已经创建并体现在Web服务领域中,因此很难同意如何这些标准应该在Web服务上下文中使用。 简而言之,不同的Web服务供应商之间的互操作性的Web服务互操作性组织(ws - i; http://www.ws-i.org )定义的一组规则强制标准应该如何使用,“基本概要”,既可用于验证WSDL契约和SOAP消息。 SoapUI包的1.1版本的概要文件,允许您轻松地检查您的wsdl和消息的一致性在工具;

  • WSDL契约可以通过WSDL服务验证弹出菜单或者ws - i遵从性在WSDL服务窗口选项卡。
  • SOAP消息可以验证通过在请求和响应消息中右键单击弹出菜单编辑器。

让我们看一下WSDL验证;选择“ws - i遵从性”选项卡在WSDL服务窗口,按绿色箭头,将显示一个进度条,正在进行验证和报告将显示如下:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码_06

滚动报告看到它的不同部分,错误等。

当我们,让我们尝试消息验证功能,打开一个请求任何操作在相应的服务和送走它(即使你会得到一个错误)。 在生成XML响应上右击,选择“ws - i遵从性检查”选项:


soapui 生成test 代码 soapui生成wsdl文件_Web_07

将生成相应的报告上面突出显示任何合规错误为当前请求/响应消息交换。

3。 为您的WSDL生成代码

大多数web服务开发框架允许您从WSDL生成代码,要么用于调用web服务的客户端代码中指定WSDL或服务器存根实现服务(s)。 简化这个代码生成,也允许容易的比较不同的框架,SoapUI为大多数人提供了一个图形化的前端;右击您想要创建的服务代码,选择“生成代码”菜单选项:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码_08

底层的弹出菜单显示所有支持框架,选择例如“Apache CXF”选项打开对话框与Apache CXF特定选项如下:


soapui 生成test 代码 soapui生成wsdl文件_Web_09

填写所需的设置,点击生成按钮;SoapUI将启动相应的命令行工具(作为全球配置工具集成);


soapui 生成test 代码 soapui生成wsdl文件_选项卡_10

在指定的文件夹在文件系统检查显示生成的文件:


soapui 生成test 代码 soapui生成wsdl文件_soapui 生成test 代码_11

它的WSDL服务现在,接下来是如何处理请求!