将 WSDL 验证视为测试 web 服务中的第一步。尽管 WSDL 通常由各种工具自动创建,但并不意味着这些 WSDL 是正确的。手动更改 WSDL 时,WSDL 验证变得越来越重要。
正确且符合标准的 WSDL 使你的服务消费者能够正确地工作,并防止供应商锁定。这有助于实现互操作性和服务重用。
SOAtest 会自动生成全面 WSDL 的测试套件,以保证你的 WSDL 符合模式并通过 XML 验证测试。此外,它执行互操作性检查,以识别你的 web 服务是否与其他符合 WS-I 的服务相互操作。
当你完成本教程这个部分时,你的测试套件应类似 SOAtestTutorial.tst
文件中标题为“WSDL Test”的测试套件。
创建 WSDL 验证测试套件
在本例中,我们将使用位于 http://localhost:8080/parabank/services/store-01?wsdl.
的 WSDL 为书店服务创建 WSDL 测试。
若要使用 SOAtest WSDL 验证测试来验证 WSDL:
- 创建一个新的空项目并命名其为
Tutorial
:- 选择 File> New> Project。
- 选择 General> Project。
- 单击 Next。
- 在 Project Name下输入
Tutorial
。 - 单击 Finish。
- 向此项目添加一个新的 .tst。
- 右键单击新教程项目节点,然后选择 Add New> Test (.tst) File。
- 在 File name下输入
Tutorial
,然后单击 Next。 - 选择 SOA> WSDL,然后单击 Next。
- 输入
http://localhost:8080/parabank/services/store-01?wsdl
作为 WSDL URL。 - 清除 Create Functional Tests from the WSDL 多选框,然后选择 Create tests to validate and enforce policies on the WSDL 多选框。
- 单击 Finish。因为选中了 Create tests to validate and enforce policies on the WSDL 多选框,所以四个 WSDL 测试自动创建在一个名为 WSDL Tests的单独测试套件中。若要查看此测试套件,打开 Test Case Explorer 选项卡,并展开树。
SOAtest 将从 WSDL URL 中创建以下 WSDL 测试。
- Test 1: 模式验证:根据 W3C 的 WSDL 模式在 WSDL 上运行 XML 验证。
- Test 2: 语义验证:检查 WSDL 的正确性,方法是像实际的服务消费者那样解析和使用它,但是要严格遵守标准。
- Test 3: WS-I 互操性:检查 WSDL 是否遵循 WS-I Basic Profile 2.0 (适用于 SOAP 1.2), 1.2 (适用于 SOAP 1.1)或 1.1 (也适用于 SOAP 1.1)。
- Test 4: WSDL 回归:为 WSDL 创建回归控制,以便可以监测 WSDL 文档中的更改。
- 选择 Test 3: WS-I Interoperability Check 节点,单击 Add test or output 工具栏按钮。
将打开 Add Output 向导,该向导显示可用工具列表。另外,所选定工具说明在 Tool Description 字段中进行显示。 - 在 Add Output 向导中,从左窗格选择 Conformance Report ,从右窗格选择 Browse ,然后单击 Finish 按钮。这将在运行测试时向浏览器发送 WS-I Conformance 报告。
- 选择 Test Suite: WSDL Tests 节点,单击 Test toolbar 按钮。
如果出现任何错误,它们将显示位于 SOAtest GUI 底部的 Console 对话框中。关于错误的更多信息,请双击其节点。