Comando createWSNService
Use o comando createWSNService para criar um novo serviço do WS-Notification e os objetos associados que formam a infraestrutura da configuração do WS-Notification.
É possível criar um novo serviço WS-Notification ao usar a ferramenta wsadmin, conforme descrito neste tópico, ou usar o console administrativo, como descrito em Criando um Novo Serviço WS-Notification da Versão 6.1 e Criando um Novo Serviço WS-Notification da Versão 7.0.
Se estiver criando um serviço WS-Notification da Versão 6.1, primeiro você deverá certificar-se de ter configurado com sucesso um repositório SDO, conforme descrito em Instalando e Configurando o Repositório SDO. O repositório SDO é usado para armazenar documentos WSDL durante a criação do serviço WS-Notification da Versão 6.1. Se você não configurar o repositório, uma mensagem de erro será exibida quando ao criar o serviço.
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.
A ajuda da linha de comandos é fornecida para comandos do barramento de integração de serviços:
- Para obter uma lista dos comandos de WS-Notification disponíveis, além
de uma breve descrição de cada comando, digite o seguinte comando no prompt wsadmin:
print AdminTask.help('WSNotificationCommands')
- 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()
Propósito
Este comando cria um novo serviço WS-Notification em um barramento de integração de serviço. Se estiver criando um serviço WS-Notification da Versão 6.1, o comando também criará os três serviços de entrada do barramento de integração de serviços que representam as três funções desempenhadas pelo broker e criará a associação entre estes objetos e o novo serviço WS-Notification.
Objeto de destino
Um barramento de integração de serviço existente (condicional - deve ser fornecido se o parâmetro bus não for fornecido).
Parâmetros necessários
- -name
- O nome a ser fornecido ao novo serviço WS-Notification. O nome faz parte do nó de extremidade no qual o serviço é exposto (ou seja, a URL utilizada para acessar os pontos de serviço do WS-Notification definidos sob o serviço).
- Para serviços do WS-Notification versão 6.1, o nome do serviço é exclusivo dentro de um barramento. Para serviços do WS-Notification Versão 7.0, o nome do serviço é exclusivo na célula, o que corresponde ao modelo de administração usado para conjuntos de políticas e, portanto, suporta a composição dos serviços do WS-Notification Versão 7.0 com o WS-ReliableMessaging.
Parâmetros Condicionais
- -bus
- O nome do barramento de integração de serviços para hospedar o serviço WS-Notification. Isso pode ser um barramento existente ou o nome de um novo barramento que deseja que o comando crie para você. Este parâmetro deverá ser especificado apenas se um objeto de Destino não for fornecido.
Parâmetros Opcionais
- -type
- O tipo do serviço WS-Notification que é criado. Os valores
permitidos são V7.0 e V6.1 (o padrão).
- Versão 7.0: Use este tipo de serviço se desejar compor um serviço JAX-WS WS-Notification com qualidades de serviços (QoS) do serviço da web por meio de conjuntos de políticas ou se desejar aplicar manipuladores JAX-WS no serviço WS-Notification. Esse é o tipo de serviço recomendado para novas implementações. Essa opção do WS-Notification foi disponibilizada no WebSphere Application Server a partir da Versão 7.0.
- Versão 6.1: Use este tipo de serviço se você deseja expor um serviço WS-Notification do JAX-RPC que usa a mesma tecnologia fornecida no WebSphere Application Server Versão 6.1, incluindo a capacidade de aplicar manipuladores JAX-RPC para o serviço. Essa opção do WS-Notification foi disponibilizada no WebSphere Application Server a partir da Versão 6.1.
- Especifique apenas os seguintes parâmetros opcionais se o tipo de serviço for Versão 6.1:
- -jaxrpcHandlerList
- -outboundSecurityConfigName
- -outboundSecurityRequestBindingName
- -outboundSecurityResponseBindingName
Nota: Para os serviços WS-Notification da Versão 7.0, as funções equivalentes aos atributos de segurança de saída da Versão 6.1 são fornecidas por meio da configuração do conjunto de políticas.Especifique apenas os seguintes parâmetros opcionais se o tipo de serviço for Versão 7.0:- -jaxwsHandlerListName
- -queryWSDL
- -description
- -permitsDynamicTopicNamespace
Ou seja, se este serviço permite que namespaces de tópicos dinâmicos sejam criados no tempo de execução. Para obter informações adicionais, consulte Espaço de Nomes de Tópico Dinâmico. Os valores permitidos são TRUE (o padrão) e FALSE
Utilize esta opção para controlar rigorosamente os namespaces de tópicos utilizados na conexão com um serviço do WS-Notification específico (por exemplo, para requisitos de segurança ou de auditoria). Se você cancelar a seleção desta opção, os aplicativos que se conectarem ao serviço do WS-Notification e solicitarem tópicos de um namespace de tópico dinâmico deixarão de publicar ou receber mensagens.
Todas as mensagens publicadas para um namespace de tópico dinâmico são inseridas com a configuração de confiabilidade de mensagem padrão de persistente confiável. Se este valor não for aceitável, crie um namespace de tópico permanente e configure manualmente o atributo como o valor apropriado.
Nota: Os namespaces de tópicos dinâmicos utilizados em um serviço do WS-Notification específico são suportados por um espaço de tópico do barramento de integração de serviço criado automaticamente durante a criação do namespace de tópico. A sintaxe de tópicos utilizada neste espaço de tópico é interna para a implementação do serviço do WS-Notification.- -dynamicTopicSpace
- Ou seja, o nome do espaço do tópico de barramento que é utilizado para hospedar o namespace do tópico ad-hoc, e para hospedar namespaces de tópico dinâmico se eles forem permitidos. Se não for especificado, este valor será padronizado como WSN_dynamic_this_service_name.
- -requiresRegistration
- Sinalizador booleano. Os valores permitidos são TRUE e FALSE (o padrão).
- -jaxwsHandlerListName
- Uma lista de manipuladores define os manipuladores que são aplicados ao fazer chamadas de serviço da web de saída, por exemplo, ao monitorar notificação de evento de saída (em resposta a uma operação de assinatura) e ao controlar os publicadores baseados em demanda (subscribe, pause e resume). Para obter informações adicionais sobre listas de manipuladores, consulte Configurando Manipuladores JAX-WS.
- Especifique este parâmetro apenas para serviços do WS-Notification versão 7.0.
- -jaxrpcHandlerListName
- Para obter informações adicionais sobre listas de manipuladores, consulte Trabalhando com Rotinas de Tratamento e Clientes JAX-RPC.
- Especifique este parâmetro apenas para serviços do WS-Notification versão 6.1.
- -outboundSecurityRequestBindingName
- Especifique este parâmetro apenas para serviços do WS-Notification versão 6.1.
- -outboundSecurityResponseBindingName
- Especifique este parâmetro apenas para serviços do WS-Notification versão 6.1.
- -outboundSecurityConfigName
- Especifique este parâmetro apenas para serviços do WS-Notification versão 6.1.
- -queryWSDL
- Sinalizador booleano. Indica se o serviço do WS-Notification da Versão 7.0 consulta o WSDL de outros serviços da Web do WS-Notification ao interagir com eles. Os valores permitidos são TRUE (o padrão) e FALSE.
- Ao configurar esse parâmetro para FALSE, é possível melhorar o desempenho ao evitar pesadas consultas WSDL. Entretanto, você deverá observar as seguintes considerações quando a consulta do WSDL não estiver ativada:
- O WS-Notification tenta descobrir informações de ligações (que normalmente são descobertas através de WSDL) usando outros meios. O WS-Notification utilize a versão SOAP associada ao ponto de serviço do WS-Notification em que as assinaturas foram feitas (por outros serviços da Web) ou onde as assinaturas administradas foram criadas (por um administrador).
- Há algumas circunstâncias nas quais o WS-Notification talvez não consiga determinar as informações sobre ligação. Isto pode acontecer ao limpar as assinaturas onde o ponto de serviço associado foi excluído e as informações de configuração não estão mais disponíveis. Sob estas circunstâncias o WS-Notification realiza um "melhor palpite" sobre as informações sobre ligação a serem utilizadas para limpar as assinaturas.
- Não há nenhum cenário em que informações incorretas sobre ligação sejam utilizadas. Ou seja, um assinante assina para usar uma ligação SOAP particular, em nome de uma NotificationConsumer que espera notificações através de uma ligação SOAP diferente.
- Especifique este parâmetro apenas para serviços do WS-Notification versão 7.0.
Exemplos
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"] )
- Utilizando Jython:
propName = ["name", "com.ibm.ws.sib.wsn.strictTopicChecking"] propValue = ["value", "TRUE"] propAttrs = [propName, propValue] AdminConfig.create("Property", newService, propAttrs)
- Utilizando
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