第十二章 创建Web客户端
web
客户端是访问web
服务的软件。web
客户端提供了一组代理方法,每个方法对应于web
服务的一个方法。代理方法使用与它所对应的web
服务方法相同的签名,并在被请求时调用web
服务方法。介绍如何在 IRIS
数据平台中创建和使用web
客户端。
注意:对 web
服务,自动生成的WSDL
可能不包括SOAP报头元素的信息:
- 如果通过设置
HeadersOut
属性手动添加SOAP
报头,请确保遵循添加和使用自定义报头元素中指定支持的报头元素中的说明。如果这样做,WSDL将包含所有适用的信息。否则,它不会,必须将WSDL
保存到一个文件中,并根据需要手动编辑它。 - 如果通过设置
SecurityOut
属性(如保护Web服务中所述)来添加WS-Security
头元素,则WSDL
不包括所有需要的信息。(这是因为WSDL
是在编译时生成的,而头文件是在运行时添加的。)在这种情况下,将WSDL
保存到文件中,并根据需要手动编辑它。
由于许多原因,使用WS-Policy
添加WS-Security
元素更简单、更容易,如创建和使用策略中所述。使用WS-Policy
,生成的WSDL
包含所有需要的信息。
- 在其他情况下,生成的
WSDL
包含所有需要的信息。
注意,W3C
规范不要求web
服务提供生成的WSDL
。
SOAP向导的概述
要创建 web
客户端,可以使用Studio
中的SOAP
向导或提供的相应类方法。在任何一种情况下,输入都是WSDL
文档。这些工具生成一个web
客户端类和所有需要的支持类。
可以为WSDL
提供URL
或文件路径。
注意:如果WSDL
表明同时支持SOAP 1.1
和SOAP 1.2
,那么如果需要,SOAP向导将生成两组类。
使用SOAP
向导
如果可以访问描述给web
服务的WSDL
,则可以使用Studio
中的SOAP
向导为该服务生成web
客户端。
注意:如果启用了代理服务器,Studio将在与模板(如SOAP Wizard
)进行通信时使用它。有关指定代理服务器和端口的信息,请参见使用代理服务器。
要使用SOAP
向导:
- 在
Studio
中,单击工具>插件>SOAP
向导。 - 在
SOAP
向导的第一个屏幕上,指定WSDL
的位置和访问它所需的SSL
配置:
a. 单击URL
或FILE
来指示WSDL
的格式。
b. 键入WSDL URL
,或者浏览到WSDL
文件。
c. 如果指定了需要SSL
认证的URL
(即以https
开头的URL
),请执行以下操作:
- 在“
SSL
配置”下拉列表中选择SSL
配置。
重要:SSL Configuration
字段仅指定向导用于访问WSDL
的SSL
配置。
- 可选地,清除“当建立
SSL
连接时,服务器证书中的服务器标识是否与正在连接的系统的名称匹配”复选框。
选中该复选框后,向导将确定证书服务器名称是否与用于连接到该服务器的DNS
名称匹配。如果名称不匹配,则不允许连接。这种默认行为可以防止中间人攻击,在RFC 2818
中有描述,在一个新的选项卡中,第3.1
节。也可以在新选项卡中查看RFC 2595opened
,第2.4
节了解更多信息。
d. 单击Next
。
向导尝试访问并显示WSDL
。
提示:如果向导在多次尝试后无法访问WSDL URL
,可以将WSDL
保存为文件并浏览到它。
如果向导成功,将出现步骤2屏幕。
e. 如果WSDL URL
需要密码身份验证,请指定凭据:
-
选择要使用的凭证类型:
- 对于凭据,选择用户名和密码。
- 对于
HTTP
基本身份验证凭据,选择“HTTP
身份验证用户名”和“密码”。
填写
Username
和Password
字段。-
单击“重试”。
- 向导不会保存条目。
- 如果用户名和密码有效,则出现步骤2屏幕。
-
在
SOAP
向导的第2步屏幕上,指定向导如何从WSDL
生成类:- 配置
Options
中的设置以控制类生成和编译区域。 - 单击
Next
。出现步骤3屏幕。
- 配置
-
在
SOAP
向导的第3步屏幕上,指定向导如何包装它从WSDL
生成的类:- 在屏幕顶部配置设置,以确定向导如何从
WSDL
中的XML
名称空间生成类包。 - 可选地编辑类包名。
- 点击下一步,该向导生成、编译并列出类。然后,出现步骤
4
屏幕。
- 在屏幕顶部配置设置,以确定向导如何从
注意:如果架构中元素的名称以下划线 (_
) 开头,则为该元素生成的类的属性以百分号 (%
) 开头。
- 单击“完成”。