createWSGWGatewayService 命令
使用 createWSGWGatewayService 命令创建新网关服务配置。
可按本主题中所述使用 wsadmin 工具创建新的网关服务配置,或按创建新的网关服务配置中所述使用管理控制台进行创建。
要运行该命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。
wsadmin
脚本编制客户机通过 Qshell 运行.
有关更多信息,请参阅 使用 wsadmin 脚本编制配置 Qshell 以运行 WebSphere 脚本.
- 要获取可用的网关命令列表以及每个命令的简要描述,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('WSGateway')
- 要获取有关给定命令的总体帮助,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('command_name')
AdminConfig.save()
在使用该命令之前,您可能要使用支持服务集成总线的 Web Service 命令以创建新的出站服务并添加出站端口。有关更多信息,请参阅本主题末尾的有效示例。
用途
该命令创建新的 GatewayService 及关联的 InboundService 和 TargetService 对象。
目标对象
创建网关服务的网关实例的 ObjectName。
此命令创建网关请求目标及相应的应答目标。配置网关请求目标以更新应答路径来添加应答目标。如果带有指定名称或缺省名称的目标已存在,那么该命令失败。
如果同名的网关服务或代理服务已存在,那么该命令失败。
该命令总是创建与网关服务同名的 InboundService 对象。如果已存在同名的入站服务,那么该命令失败。
用作入站服务的模板 WSDL 位置是来自 OutboundService 对象的 WSDL 位置或在该命令中指定的 WSDL 位置。如果要通过代理检索 WSDL,那么正在运行命令的服务器必须正确设置标识代理服务器的系统属性。如果该代理需要认证,那么可在该命令上将用户标识和密码设置为参数。
将该命令创建的 TargetService 对象设置为网关服务的缺省值,并将网关目标上的缺省正向路由路径设置为指向目标位置。将网关目标 com.ibm.websphere.wsgw.targets 属性设置为包含目标位置或包含与出站服务关联的目标。适当设置网关目标上的 com.ibm.websphere.wsgw.gatewayService 属性和 com.ibm.websphere.wsgw.gatewayInstance 属性。
必需参数
- -name
- 网关服务名称。
条件参数
- -wsdlLocation
- 模板 WSDL 文件的位置。
这是 Web 地址或者 UDDI 服务密钥的特定于服务部分。如果您指定 UDDI 引用,那么采用 WSDL 位置作为 UDDI 服务密钥。
下面是一个完整的 UDDI 服务密钥示例:
此密钥的特定于服务部分是最后一部分内容:uddi:blade108node01cell:blade108node01:server1:default:6e3d106e-5394-44e3-be17-aca728ac1791
6e3d106e-5394-44e3-be17-aca728ac1791
- 如果未指定此参数,那么 OutboundService 对象中的 WSDL 位置将用作模板 WSDL 位置。
- -wsdlServiceName
- WSDL 中服务的名称。仅当模板 WSDL 包含多个服务或通过 UDDI 注册中心查找 WSDL 时才需要该参数。
- -wsdlServiceNamespace
- WSDL 中服务的名称空间。仅当模板 WSDL 包含多个服务、通过 UDDI 注册中心查找 WSDL 或服务不在 WSDL 文档的缺省名称空间中时才需要该参数。
- -targetDestination
- 可能与网关目标位于同一服务集成总线或在另一总线(在此情况下还必须指定 -targetBus)中的期望目标的名称。
- 指定 -targetDestination 或 -targetService 参数。
- -targetBus
- 主管目标位置的服务集成总线的名称。
- 如果已指定 -targetDestination 参数并且期望目标不在网关目标所在的服务集成总线上,请指定此参数。
- -targetService
- 目标出站服务的名称。
- 指定 -targetDestination 或 -targetService 参数。
可选参数
- -requestDestination
- 网关请求目标的名称。
- -replyDestination
- 网关应答目标的名称。
- -uddiReference
- 如果将 UDDI 服务键指定为 WSDL 位置,那么提供用于目标 UDDI 注册中心的 UDDI 引用。
- -userId
- 您可用来检索 WSDL 的用户标识。
- -password
- 您可用来检索 WSDL 的密码。
示例
- 使用 Jython:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "MyGatewayService", "-targetService", "MyService"])
- 使用 Jacl:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "MyGatewayService" -targetService "MyService"}]
- 创建表示服务提供程序的出站服务,其中,bus 是服务集成总线:
- 使用 Jython:
outService = AdminTask.createSIBWSOutboundService(bus, ["-name", "StockQuoteService", "-wsdlLocation", "http://myserver.com/wsdl/StockQuoteService.wsdl"])
- 使用 Jacl:
set outService [$AdminTask createSIBWSOutboundService $bus {-name "StockQuoteService" -wsdlLocation "http://myserver.com/wsdl/StockQuoteService.wsdl"}]
- 使用 Jython:
- 按照服务提供程序 WSDL 中定义的内容添加 SOAP over HTTP 端口:
- 使用 Jython:
outPort = AdminTask.addSIBWSOutboundPort(outService, ["-name", "SOAPHTTPPort", "-node", "MyNode", "-server", "server1"])
- 使用 Jacl:
set outPort [$AdminTask addSIBWSOutboundPort $outService {-name "SOAPHTTPPort" -node "MyNode" -server "server1"}]
- 使用 Jython:
- 创建网关服务,其中,wsgw 是网关实例:
- 使用 Jython:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "StockQuoteGatewayService", "-targetService", "StockQuoteService"])
- 使用 Jacl:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "StockQuoteGatewayService" -targetService "StockQuoteService"}]
- 使用 Jython:
- 获取网关服务的入站服务,其中,busName 是服务集成总线的名称:
- 使用 Jython:
inServiceName = AdminConfig.showAttribute(gwService, "inboundServiceName")
inService = AdminConfig.getid( "/SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/" )
- 使用 Jacl:
set inServiceName [$AdminConfig showAttribute $gwService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$busName/SIBWSInboundService:$inServiceName/]
- 使用 Jython:
- 添加 SOAP over HTTP 端口,其中,已配置 SOAP over HTTP 1 端点侦听器:
- 使用 Jython:
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- 使用 Jacl:
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- 使用 Jython:
- 完成入站服务和出站服务以及端口的配置。例如,应用 JAX-RPC处理程序或 WS-Security。