本主题包括 .NET WCF HTTP 与 SOAtest 的使用。
本章包含:
配置 .NET WCF HTTP 以便在 SOAtest 中使用
.NET WCF HTTP 传输选项允许你调用 Windows Communication Foundation
(使用 HTTP 传输的 .NET 3.0、3.5 或 4.0)web 服务。对于 4.0,此服务必须安装 .NET 4 CLR / client runtime。
SOAtest能够理解 WCF 系统提供的 BasicHttpBinding
, WSHttpBinding
,和使用 HttpTransportBindingElement
的自定义绑定。.NET WCF HTTP Transport 还可以用于调用基于 Java 的 HTTP web 服务,以测试与 .Net WCF 客户机的互操作性。有关更多信息,请参见以下部分:
- 系统提供的绑定
- 自定义绑定
- BasicHttpBinding
- WSHttpBinding
- HttpTransportBindingElement
从合适工具的 Transport 选项卡内的 Transport 下拉菜单选中 .NET WCF HTTP 之后,将在 Transport 选项卡的左窗格显示以下选项:
- 端点
- 配置文件
- 安全
端点选项
端点是 web 服务端点的 URL。默认情况下,工具端点被设置为 WSDL中定义的端点。除了 WSDL,还有其他三个端点选项:
- 默认:当选择此选项时,端点将是拥有该工具的测试套件中定义的端点。若要查看测试套件中定义端点的 GUI,请单击测试套件节点并单击 Options 选项卡:
- 自定义:允许设置任何自定义端点。
- UDDI serviceKey: 描述在首选项面板的 WSDL/UDDI 选项卡中指定的 UDDI 注册中心中,使用 UDDI serviceKey 引用此服务器端点。
配置文件选项
WCF 配置文件是一个 XML 文件,用于为 WCF 客户机和服务定义配置设置。该工具充当 WCF 客户机,可以使用 WCF 配置文件中的设置进行配置。如果测试的 Web 服务具有 WSDL 文档或元数据端点,则可以使用 Microsoft 服务模型元数据工具自动生成 WCF 客户机配置文件。Microsoft 服务配置编辑器还可用于使用图形用户界面创建和编辑 WCF 配置文件。这些工具作为 Microsoft Windows SDK 的一部分广泛可用。
工具可以根据 WSDL 中定义的策略或 WCF 客户机配置文件中定义的端点绑定配置自动确定端点绑定信息。当选择了 约束到 WSDL 工具选项时,端点的绑定将根据 WSDL 中定义的策略自动确定。当未选中 约束到 WSDL 时,SOAtest 将在指定的 WCF 客户机配置文件中查找端点的绑定设置。
工具还可以使用在 WCF 客户机配置文件中定义的端点行为信息。如果服务将使用证书协商服务凭据,则必须提供包含 clientCredentials
元素的端点行为部分。
可以使用以下配置文件选项:
- WCF Client Configuration File: 单击 Browse 按钮以选择所需配置文件。
- 作为相对路径保存:如果要将该文件的路径作为当前配置文件的相对路径来保存,则选择此选项。启用该选项可以更容易地在多个机器之间共享测试。如果该选项未启用,则测试套件将该文件路径保存为绝对路径。
- 打开服务配置编辑器:此选项只显示在安装了 Microsoft 服务配置编辑器的机器上。此功能允许你快速打开编辑器以创建新的服务配置文件,或查看或编辑当前选定的服务配置文件。
安全选项
“安全选项”选项卡允许你为各种安全凭据输入用户名和密码信息。此外, Open Certificate Manager 选项也是可用的。单击 Open Certificate Manager 打开 Windows 证书管理器。Windows 证书管理器允许你在调用 Web 服务时管理身份验证所需的任何证书。WCF 配置文件可能有对 Windows 证书管理器显示的证书的引用
配置请求
在 Request 选项卡中,你可以为请求消息配置 SOAP 信封。此 SOAP 信封是在任何传输和消息转换(如加密)之前配置的。.NET WCF 将在运行测试时自动应用消息和传输安全性。不需要 XML 签名器和 XML 加密工具,也不应该链接到该工具,不需要向 SOAP 请求添加任何安全数据头。应该出现的唯一 SOAP 数据头是 WS-Addressing 数据头,如果你的测试是从 WSDL 创建的,那么 SOAtest 会自动添加该数据头。
配置事务支持
SOAtest 支持通过 WS-Atomic 事务协议和 WCF web 服务的 MS OLE 事务协议进行的数据流事务。有关更多详情,请查阅 .NET WCF 数据流事务。
在 SOAtest 中配置全局 .NET 系统属性
.NET System.Net.ServicePointManager 类中的全局属性可以通过在 SOAtest 命令行上设置 java 系统属性来配置。ServicePointManager.DefaultConnectionLimit 限制属性限制了 SOAtest 和远程主机之间保持活动连接的 HTTP 数量。
DefaultConnectionLimit 属性的默认值是 2。如果你正在执行负载测试,并且需要两个以上的 HTTP 保持连接,我们建议增加此属性。
例如,在启动 SOAtest 时将 DefaultConnectionLimit 属性设置为 50(可以通过命令行 "-J-DSystem.Net.ServicePointManager.DefaultConnectionLimit=50")。可以在 SOAtest 命令行上配置的受支持的 ServicePointManager 属性的完整列表如下:
- System.Net.ServicePointManager.CheckCertificateRevocationList
- System.Net.ServicePointManager.DefaultConnectionLimit
- System.Net.ServicePointManager.DnsRefreshTimeout
- System.Net.ServicePointManager.EnableDnsRoundRobin
- System.Net.ServicePointManager.Expect100Continue
- System.Net.ServicePointManager.MaxServicePointIdleTime
- System.Net.ServicePointManager.MaxServicePoints
- System.Net.ServicePointManager.SecurityProtocol
- System.Net.ServicePointManager.UseNagleAlgorithm
关于这些属性的更多信息,请查阅 http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager_properties.aspx。