createWSNService 命令
使用 createWSNService 命令创建新 WS-Notification 服务及形成 WS-Notification 配置基础结构的关联对象。
可按本主题中的描述使用 wsadmin 工具创建新 WS-Notification 服务,或按创建新的 V6.1 WS-Notification 服务和创建新的 V7.0 WS-Notification 服务中的描述使用管理控制台进行创建。
如果要创建 V6.1 WS-Notification 服务,必须先确保已按安装和配置 SDO 存储库中所述成功配置 SDO 存储库。该 SDO 存储库用于在创建 V6.1 WS-Notification 服务期间存储 WSDL 文档。如果未配置该存储库,那么创建该服务时会显示错误消息。
要运行该命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。
wsadmin
脚本编制客户机通过 Qshell 运行.
有关更多信息,请参阅 使用 wsadmin 脚本编制配置 Qshell 以运行 WebSphere 脚本.
已经为服务集成总线命令提供了命令行帮助:
- 要获取可用的 WS-Notification 命令列表以及每个命令的简要描述,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('WSNotificationCommands')
- 要获取有关给定命令的总体帮助,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('command_name')
AdminConfig.save()
用途
此命令在服务集成总线上创建新的 WS-Notification 服务。如果要创建 V6.1 WS-Notification 服务,那么该命令还会创建三个服务集成总线入站服务来表示代理创建的三个角色,并在这些对象与新 WS-Notification 服务之间创建关联。
目标对象
现有的服务集成总线(有条件 - 如果未提供 bus 参数,那么必须提供此总线)。
必需参数
- -name
- 要对新的 WS-Notification 服务指定的名称。 名称构成了公开服务所在端点的一部分(即,用于访问在该服务下定义的 WS-Notification 服务点的 URL)。
- 对于 V6.1 WS-Notification 服务,服务名称在总线中是唯一的。对于 V7.0 WS-Notification 服务,服务名称在单元中是唯一的,它与用于策略集的管理模型相匹配,并且因此支持 V7.0 WS-Notification 与 WS-ReliableMessaging 的组合。
条件参数
- -bus
- 要主管 WS-Notification 服务的服务集成总线的名称。它必须是现有总线或您想要命令创建的新总线的名称。仅当未提供 Target 对象时,才应该指定此参数。
可选参数
- -type
- 已创建的 WS-Notification 服务的类型。允许的值包括 V7.0 和 V6.1(缺省值)。
- V7.0:如果要通过策略集来编写具有 Web Service 服务质量 (QoS) 的 JAX-WS WS-Notification 服务,或者如果要将 JAX-WS 头应用于 WS-Notification 服务,请使用此类型的服务。对于新部署,这是建议的服务类型。从 V7.0 起,此 WS-Notification 选项在 WebSphere Application Server 中可用。
- V6.1:如果要使用 WebSphere Application Server V6.1 中提供的相同技术(包括将 JAX-RPC 处理程序应用于服务的功能)来公开 JAX-RPC WS-Notification 服务,请使用此类型的服务。从 V6.1 起,此 WS-Notification 选项在 WebSphere Application Server 中可用。
- 仅当服务类型为 V6.1 时,才应指定下列可选参数:
- -jaxrpcHandlerList
- -outboundSecurityConfigName
- -outboundSecurityRequestBindingName
- -outboundSecurityResponseBindingName
注: 对于 V7.0 WS-Notification 服务,V6.1 出站安全性属性的等价功能是通过策略集配置提供的。仅当服务类型为 V7.0 时,才应指定下列可选参数:- -jaxwsHandlerListName
- -queryWSDL
- -description
- -permitsDynamicTopicNamespace
即,此服务是否允许在运行时创建动态主题名称空间。有关更多信息,请参阅动态主题名称空间。允许的值包括 TRUE(缺省值)和 FALSE
使用此选项来严格控制连接到特定 WS-Notification 服务时使用的主题名称空间(例如,用于确保安全以及进行审计)。如果取消选择了此选项,那么任何连接到 WS-Notification 服务并从动态主题名称空间获取主题的应用程序都将停止发布或接收消息。
所有发布到动态主题名称空间的消息都是使用缺省消息可靠性设置可靠持久插入的。如果无法接受此值,那么请创建永久主题名称空间并将该属性手动配置为适当的值。
注: 对特定 WS-Notification 服务使用的动态主题名称空间是由您创建主题名称空间时自动创建的服务集成总线主题空间支持的。在此主题空间中使用的主题语法是 WS-Notification 服务实现的内部信息。- -dynamicTopicSpace
- 即,用于主管特别主题名称空间以及在允许使用动态主题名称空间时用于主管这些空间的总线主题空间的名称。 如果未指定,那么此值缺省为 WSN_dynamic_this_service_name。
- -requiresRegistration
- 布尔标志。允许的值包括 TRUE 和 FALSE(缺省值)。
- -jaxwsHandlerListName
- 处理程序列表定义进行出站 Web Service 调用时应用的处理程序,例如,监视出站事件通知(响应预订操作)和控制基于需求的发布程序(预订、暂停和恢复)。 有关处理程序列表的更多信息,请参阅配置 JAX-WS 处理程序。
- 仅对 V7.0 WS-Notification 服务指定此参数。
- -jaxrpcHandlerListName
- 有关处理程序列表的更多信息,请参阅使用 JAX-RPC 处理程序和客户机。
- 仅对 V6.1 WS-Notification 服务指定此参数。
- -outboundSecurityRequestBindingName
- 仅对 V6.1 WS-Notification 服务指定此参数。
- -outboundSecurityResponseBindingName
- 仅对 V6.1 WS-Notification 服务指定此参数。
- -outboundSecurityConfigName
- 仅对 V6.1 WS-Notification 服务指定此参数。
- -queryWSDL
- 布尔标志。指示 V7.0 WS-Notification 在与其他 WS-Notification Web Service 交互时是否查询他们的 WSDL。允许的值包括 TRUE(缺省值)和 FALSE。
- 通过将此参数设置为 FALSE,可通过避免进行极耗资源的 WSDL 查询来改进性能。但是,未启用 WSDL 查询时应注意以下事项:
- WS-Notification 尝试使用其他方法发现绑定信息(通常通过 WSDL 发现)。WS-Notification 使用与 WS-Notification 服务点相关联的 SOAP 版本,其中会(由其他 Web Service)创建预订或(由管理员)创建受管预订。
- 某些情况下 WS-Notification 可能无法确定绑定信息。清除预订时可能会发生这种情况,其中关联服务点已被删除,并且配置信息不再可用。在这些情况下,WS-Notification 会对绑定信息进行“最佳猜测”以用于清除预订。
- 有一种情况是使用不正确的绑定信息。即,此时订户预订使用特定 SOAP 绑定,但代表期望使用另一 SOAP 绑定进行通知的 NotificationConsumer。
- 仅对 V7.0 WS-Notification 服务指定此参数。
示例
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V6.1"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-jaxwsHandlerListName", "myHandlerList"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-queryWSDL", "false"] )
- 使用 Jython:
propName = ["name", "com.ibm.ws.sib.wsn.strictTopicChecking"] propValue = ["value", "TRUE"] propAttrs = [propName, propValue] AdminConfig.create("Property", newService, propAttrs)
- 使用 Jacl:
set propName [list name "com.ibm.ws.sib.wsn.strictTopicChecking"] set propValue [list value "TRUE"] set propAttrs [list $propName $propValue] $AdminConfig create Property $newService $propAttrs