Comando createWSGWGatewayService
Use o comando createWSGWGatewayService para criar uma nova configuração de serviço de gateway.
É possível criar uma nova configuração de serviço de gateway ao usar a ferramenta wsadmin, conforme descrito neste tópico, ou ao usar o console administrativo, conforme descrito em Criando uma Nova Configuração de Serviço de Gateway.
Para executar o comando, utilize o objeto AdminTask do cliente de script wsadmin.
O cliente de script wsadmin é executado do Qshell.
Para obter informações adicionais, consulte Configurando o Qshell para Executar Scripts do WebSphere Usando o Script wsadmin.
- Para obter uma lista dos comandos de gateway disponíveis, além de uma
breve descrição de cada comando, digite o seguinte comando no prompt wsadmin:
print AdminTask.help('WSGateway')
- Para obter ajuda de visão geral sobre um determinado comando, digite o seguinte comando no prompt wsadmin:
print AdminTask.help('command_name')
AdminConfig.save()
Antes de usar este comando, convém usar os comandos de serviços da web ativados pelo barramento de integração de serviços para criar um novo serviço de saída e incluir uma porta de saída. Para obter informações adicionais, consulte o exemplo trabalhado no final deste tópico.
Propósito
Este comando cria um novo GatewayService com objetos InboundService e TargetService associados.
Objeto de destino
ObjectName da instância do gateway dentro do qual o serviço de gateway é criado.
O comando cria o destino de solicitação do gateway e o destino de resposta correspondente. O destino de pedido do gateway é configurado para atualizar o caminho de resposta para incluir o destino da resposta. Se já existir um destino com os nomes especificados ou padrão, o comando falhará.
Se já existir um serviço de gateway ou proxy com o mesmo nome, o comando falhará.
O comando sempre cria um objeto InboundService com o mesmo nome que o serviço de gateway. Se já existir um serviço de entrada com esse nome, o comando falhará.
O local de WSDL do objeto OutboundService ou especificado no comando é usado como o local de WSDL do modelo para o serviço de entrada. Se for necessário recuperar o WSDL através de um proxy, o servidor no qual o comando estiver sendo executado deverá ter as propriedades de sistema que identificam o servidor proxy definido corretamente. Se o proxy requisitar autenticação, o ID do usuário e a senha poderão ser definidos como parâmetros no comando.
O objeto TargetService criado por esse comando é configurado como o padrão para o serviço de gateway e o caminho de roteamento de encaminhamento padrão no destino do gateway é configurado para apontar para o destino alvo. A propriedade com.ibm.websphere.wsgw.targets de destino do gateway está definida para conter o destino desejado ou destino associado ao serviço de saída. As propriedades com.ibm.websphere.wsgw.gatewayService e com.ibm.websphere.wsgw.gatewayInstance no destino de gateway estão definidas adequadamente.
Parâmetros necessários
- -name
- O nome de serviço de gateway.
Parâmetros Condicionais
- -wsdlLocation
- O local do arquivo WSDL de gabarito.
Esse é um endereço da Web ou uma parte específica do serviço de uma chave de serviço UDDI. Se você especificar uma referência de UDDI, supõe-se que o local WSDL seja uma chave de serviço de UDDI.
Eis um exemplo de uma chave de serviço de UDDI completa:
A parte específica do serviço dessa chave é a parte final:uddi:blade108node01cell:blade108node01:server1:default:6e3d106e-5394-44e3-be17-aca728ac1791
6e3d106e-5394-44e3-be17-aca728ac1791
- Se esse parâmetro não for especificado, o local do WSDL a partir do objeto OutboundService será usado como o local do WSDL de modelo.
- -wsdlServiceName
- O nome do serviço dentro do WSDL. Requerido apenas se o WSDL de modelo contiver mais de um serviço ou se foi localizado através de um registro UDDI.
- -wsdlServiceNamespace
- O namespace do serviço no WSDL. Requerido apenas se o WSDL de modelo contiver mais de um serviço ou se o WSDL foi localizado através de um registro UDDI ou o serviço não estiver no espaço de nomes padrão para o documento WSDL.
- -targetDestination
- O nome do destino alvo, que pode estar dentro do mesmo barramento de integração de serviços de um destino de gateway ou em outro barramento (no caso em que -targetBus também deve ser especificado).
- Especifique o parâmetro -targetDestination ou -targetService.
- -targetBus
- O nome do barramento de integração de serviços que hospeda o destino desejado.
- Especifique esse parâmetro se o parâmetro -targetDestination tiver sido especificado e se o destino alvo não estiver no mesmo barramento de integração de serviços do destino de gateway.
- -targetService
- O nome do serviço de saída de destino.
- Especifique o parâmetro -targetDestination ou -targetService.
Parâmetros Opcionais
- -requestDestination
- O nome do destino de pedido de gateway.
- -replyDestination
- O nome do destino de resposta de gateway.
- -uddiReference
- Se você tiver especificado uma chave de serviço de UDDI como o local de WSDL, forneça a referência de UDDI para o registro do UDDI de destino.
- -userId
- O ID do usuário utilizado para recuperar o WSDL.
- -password
- A senha utilizada para recuperar o WSDL.
Por exemplo:
- Utilizando Jython:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "MyGatewayService", "-targetService", "MyService"])
- Utilizando
Jacl:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "MyGatewayService" -targetService "MyService"}]
- Crie o serviço de saída que representa o provedor de serviços, em que bus é o
barramento de integração serviços:
- Utilizando Jython:
outService = AdminTask.createSIBWSOutboundService(bus, ["-name", "StockQuoteService", "-wsdlLocation", "http://myserver.com/wsdl/StockQuoteService.wsdl"])
- Utilizando
Jacl:
set outService [$AdminTask createSIBWSOutboundService $bus {-name "StockQuoteService" -wsdlLocation "http://myserver.com/wsdl/StockQuoteService.wsdl"}]
- Utilizando Jython:
- Inclua uma porta SOAP sobre HTTP conforme definido no WSDL do provedor de serviços:
- Utilizando Jython:
outPort = AdminTask.addSIBWSOutboundPort(outService, ["-name", "SOAPHTTPPort", "-node", "MyNode", "-server", "server1"])
- Utilizando
Jacl:
set outPort [$AdminTask addSIBWSOutboundPort $outService {-name "SOAPHTTPPort" -node "MyNode" -server "server1"}]
- Utilizando Jython:
- Crie o serviço de gateway, em que wsgw é a instância do
gateway:
- Utilizando Jython:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "StockQuoteGatewayService", "-targetService", "StockQuoteService"])
- Utilizando
Jacl:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "StockQuoteGatewayService" -targetService "StockQuoteService"}]
- Utilizando Jython:
- Obtenha o serviço de entrada do serviço de gateway, em que busName é o nome
do barramento de integração de serviços:
- Utilizando Jython:
inServiceName = AdminConfig.showAttribute(gwService, "inboundServiceName")
inService = AdminConfig.getid( "/SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/" )
- Utilizando
Jacl:
set inServiceName [$AdminConfig showAttribute $gwService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$busName/SIBWSInboundService:$inServiceName/]
- Utilizando Jython:
- Inclua uma porta SOAP sobre HTTP, em que o listener do terminal 1 de SOAP sobre HTTP
já esteja configurado:
- Utilizando Jython:
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- Utilizando
Jacl:
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- Utilizando Jython:
- Conclua a configuração das portas e dos serviços de entrada e saída. Por exemplo, aplique Manipuladores JAX-RPC ou WS-Security.