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

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

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

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

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

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

1。 使用wsdl

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

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

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

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

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服务窗口,按绿色箭头,将显示一个进度条,正在进行验证和报告将显示如下:

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

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

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

3。 为您的WSDL生成代码

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

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

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

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

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

创建WSDL项目的更多相关文章

  1. 关于TFS2010 远程无法创建团队项目的若干问题总结

    今天遇到一个TFS的问题,折腾了好几个小时,故将其记录,给有遇到类似问题的朋友一些参考. 1.本文前提:服务器端只安装了TFS2010,本地没有安装Visual Studio 2010,因此不能在服务 ...

  2. maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    早上一上班就想新建一个web项目玩玩,没想到一敲命令创建就失败了,真是出师不利.各种折腾无果,当然我也可以用eclipse直接创建的,就是不甘心被这破问题给耍了.刚刚才发现问题原因,这个结果我也是醉了 ...

  3. 创建maven项目(cmd 命令)

    2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...

  4. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  5. Jenkins创建Maven项目及SSH部署

    前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...

  6. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  7. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  8. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

  9. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

随机推荐

  1. nltk27_NLTK聚类分析

    http://www.pythontip.com/blog/post/10044/ Python自然语言处理(三) -- 利用NLTK进行聚类 这篇文章介绍如何利用NLTK进行聚类,和上两篇文章Pyt ...

  2. FlexPaper+SWFTool+操作类=在线预览PDF

    引言 由于客户有在线预览PDF格式的需求,在网上找了一下解决方案,觉得FlexPaper用起来还是挺方便的,flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swf ...

  3. print、sp_helptext的限制与扩展

    在SQL中,使用动态SQL是很常见的.有些复杂的计算,或是存储过程,代码很长,中间可能有多次执行SQL语句.而调试拼串的SQL语句却是件痛苦的事,很难看出来运行的语句是什么.所以我会经常使用print ...

  4. Bash 中 SHLVL 变量为 1000 的时候

    SHLVL 环境变量代表 Shell 嵌套执行的深度. $ echo $SHLVL 1 $ bash $ echo $SHLVL 2 $ bash $ echo $SHLVL 3 在 Bash 里,这 ...

  5. 【piu~】制作一只变形小鸡~

    在http://codepen.io/pick上看到的,,,具体是谁忘了,反正我只截了最萌的一段,作者越改越不萌ಥ_ಥ 谷哥哥随便一搜就有很多好玩的,度娘就...(  ̄ ▽ ̄)o╭╯☆#╰ _─﹏─) ...

  6. PHP数组合并+与array_merge的区别分析 & 对多个数组合并去重技巧

    PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的! 主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 ...

  7. Unix目录结构的来历

    作者: 阮一峰 Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在. 举例来说,根目录下面有一个子目录/bin,用于存放二进制程序.但是,/usr子目录下面还有/usr/bin ...

  8. Linux/CentOS优化配置 汇总

    [强烈要求做的]CentOS启用sudo,禁用root远程登录 Linux命令行修改IP.网关.DNS.主机名 的方法 Linux开机直接进入“命令行”模式 更改CentOS 6.x yum源为国内1 ...

  9. 使用php+swoole对client数据实时更新(上)

    如果想对一个列表做实时的更新,传统的做法是采用轮询的方式.以web为例,通过Ajax定时请求服务端然后获取数据显示在页面.这种方式实现简单,缺点就是浪费资源. HTTP1.1新增加了对websocke ...

  10. (原)android的alertdialog中加入edittext但是不弹出软键盘等问题的解决与原因

    摘要:alertdialog中加入edittext但是不弹出软键盘等问题网上有很多不管用的解决方案, 本文意在给出更有效的解决办法,并初步探究其原因 正文 在对话框中插入文本框是十分常见的需求 通常我 ...