Usando o Provedor JAXR para UDDI
Para iniciar com o provedor Java™ API for XML Registries (JAXR), é possível usar um programa de amostra. Também é necessário considerar bibliotecas de classes, autenticação e segurança, taxonomias internas e criação de log e mensagens.
Sobre Esta Tarefa

Procedimento
- Para obter a instância ConnectionFactory, criar uma conexão para o
registro e salvar uma organização no registro, consulte
o programa de amostra a seguir.
Substitua todas as referências a host local por referências à máquina IBM® i específica na qual o registro UDDI é executado.
import java.net.PasswordAuthentication; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Properties; import java.util.Set; import javax.xml.registry.BulkResponse; import javax.xml.registry.BusinessLifeCycleManager; import javax.xml.registry.Connection; import javax.xml.registry.ConnectionFactory; import javax.xml.registry.JAXRException; import javax.xml.registry.RegistryService; import javax.xml.registry.infomodel.Key; import javax.xml.registry.infomodel.Organization; public class JAXRSample { public static void main(String[] args) throws JAXRException { //Informe ao ConnectionFactory para usar o provedor JAXR para UDDI System.setProperty("javax.xml.registry.ConnectionFactoryClass", "com.ibm.xml.registry.uddi.ConnectionFactoryImpl"); ConnectionFactory connectionFactory = ConnectionFactory.newInstance(); //Definir os URLs da consulta UDDI e APIs de publicação. //Esses URLs devem ser das APIs do UDDI versão 2. Properties props = new Properties(); props.setProperty("javax.xml.registry.queryManagerURL", "http://localhost:9080/uddisoap/inquiryapi"); props.setProperty("javax.xml.registry.lifeCycleManagerURL", "http://localhost:9080/uddisoap/publishapi"); connectionFactory.setProperties(props); //Criar uma Conexão com o Registro UDDI acessível nas URLs acima. Connection connection = connectionFactory.createConnection(); //Defina o ID de usuário e a senha utilizados para acessar o Registro UDDI. PasswordAuthentication pa = new PasswordAuthentication("Publisher1", new char[] { 'p', 'a', 's', 's', 'w', 'o', 'r', 'd' }); Set credentials = new HashSet(); credentials.add(pa); connection.setCredentials(credentials); //Obtenha a interface javax.xml.registry.BusinessLifeCycleManager, //que contém métodos correspondentes às chamadas API da publicação de UDDI. RegistryService registryService = connection.getRegistryService(); BusinessLifeCycleManager lifeCycleManager = registryService.getBusinessLifeCycleManager(); //Crie uma Organização (businessEntity UDDI) com o nome //"Organização 1". Organization org = lifeCycleManager.createOrganization("Organization 1"); //Inclua a Organização em uma Coleção, pronta para ser salva no registro da UDDI //. Collection orgs = new ArrayList(); orgs.add(org); //Salvar a Organização no Registro UDDI. BulkResponse bulkResponse = lifeCycleManager.saveOrganizations(orgs); //Obtenha a Chave da Organização (a businessKey da businessEntity da UDDI //) da resposta. if (bulkResponse.getExceptions() == null) { //1 Organização foi salva, assim, 1 chave será retornada na coleção de //respostas Collection responses = bulkResponse.getCollection(); Key organizationKey = (Key)responses.iterator().next(); System.out.println("\nOrganization Key = " + organizationKey.getId()); } } }
- Certifique-se de que o caminho da classe esteja configurado. As bibliotecas de classes do provedor JAXR para UDDI estão no arquivo com.ibm.uddi_1.0.0.jar, no diretório app_server_root/plugins. Ao usar a API JAXR a partir de um aplicativo Java EE em execução no WebSphere Application Server, todas as classes necessárias estarão automaticamente no caminho da classe. Ao usar a API JAXR fora deste ambiente, os arquivos arquivos .jar devem estar no caminho da classe Java:
- app_server_root/lib/bootstrap.jar
- app_server_root/plugins/com.ibm.uddi_1.0.0.jar
- app_server_root/plugins/com.ibm.ws.runtime_6.1.0
- Para usar o provedor JAXR para UDDI, primeiro é necessário especificar
o nome da classe de implementação ConnectionFactory. Configure a
propriedade de sistema javax.xml.registry.ConnectionFactoryClass como com.ibm.xml.registry.uddi.ConnectionFactoryImpl.
Se esta propriedade de sistema não for configurada, o valor será padronizado como com.sun.xml.registry,common.ConnectionFactoryImpl, que não pode ser localizado e causará uma exceção JAXRException quando o método ConnectionFactory.newInstance() for chamado.
O provedor JAXR para UDDI não suporta a consulta de ConnectionFactory usando a Java Naming and Directory Interface (JNDI).
- Para especificar propriedades específicas da conexão, configure um objeto java.util.Properties
no ConnectionFactory JAXR antes de obter uma conexão. A lista completa destas propriedades está na especificação JAXR. A tabela a seguir lista as três propriedades mais importantes e quais valores elas obtêm para usar o provedor JAXR para UDDI para acessar o registro UDDI.
Tabela 1. Propriedades Específicas da Conexão Necessárias para Usar o Provedor JAXR para UDDI para Acessar o Registro UDDI. A tabela lista as propriedades diferentes junto com uma descrição de cada uma delas. Propriedade Description javax.xml.registry.queryManagerURL A URL para a API de Consulta do registro UDDI para UDDI Versão 2. Geralmente, esta propriedade está no formato: http://hostname:port/uddisoap/inquiryapi. Essa propriedade é requerida. javax.xml.registry.lifeCycleManagerURL A URL para a API de Publicação do registro UDDI para UDDI Versão 2. Geralmente, esta propriedade está no formato: http://hostname:port/uddisoap/publishapi. Se esta propriedade não for especificada, ela será padronizada como o valor da propriedade javax.xml.registry.queryManagerURL. No entanto, o registro UDDI geralmente possui URLs diferentes para as APIs de Consulta e de Publicação, portanto, é recomendável especificar as duas propriedades.
javax.xml.registry.authenticationMethod O método de autenticação para ser utilizado durante a autenticação no registro. Ele pode obter um de dois valores, UDDI_GET_AUTHTOKEN e HTTP_BASIC. Se não for especificado um valor, o valor padrão será UDDI_GET_AUTHTOKEN. Consulte a seguinte etapa para obter informações adicionais. A única propriedade da conexão necessária é javax.xml.registry.queryManagerURL. No entanto, é recomendável configurar javax.xml.registry.lifeCycleManagerURL e entender o valor padrão de javax.xml.registry.security.authenticationMethod. As outras propriedades da conexão que estão definidas na especificação JAXR são opcionais, e seus valores não são específicos do registro UDDI. O provedor JAXR para UDDI não define nenhuma das propriedades adicionais específicas do provedor.
- Para determinar qual método o provedor JAXR usa para autenticação
com o registro UDDI, configure a propriedade da conexão javax.xml.registry.authenticationMethod. A propriedade da conexão javax.xml.registry.authenticationMethod determina qual método o provedor JAXR usa para autenticação com o registro UDDI. São suportados dois valores desta propriedade:
- UDDI_GET_AUTHTOKEN
O provedor JAXR usa a API get_authToken UDDI V2 para autenticação com o registro. O provedor JAXR faz automaticamente a chamada get_authToken quando as credenciais de conexão estão configuradas. O provedor JAXR salva authToken UDDI V2 retornado pela chamada para uso em chamadas da API de publicação UDDI subsequentes.
- HTTP_BASIC
O provedor JAXR usa a autenticação básica HTTP para autenticação com o registro. O WebSphere Application Server suporta a autenticação básica HTTP quando a segurança está ativada. O provedor JAXR não faz uma chamada get_authToken. Em vez disso, sempre que houver uma chamada da API UDDI (de Consulta e Publicação), o nome de usuário e senha serão enviados nos cabeçalhos HTTP, usando a autenticação básica HTTP. Se o registro UDDI não exigir autenticação básica HTTP, as credenciais serão ignoradas.
Se esta propriedade não for configurada, o método de autenticação padrão será UDDI_GET_AUTHTOKEN.
- UDDI_GET_AUTHTOKEN
- Para usar Secure Sockets Layer (SSL) para criptografar o tráfego HTTP entre o provedor JAXR para UDDI e o registro UDDI, consulte Using SSL with the UDDI JAXR provider.
- Para fornecer uma taxonomia interna customizada, consulte Creating a custom internal taxonomy for the JAXR provider.
- Para ativar a criação de log UDDI4J, configure a propriedade de sistema org.uddi4j.logEnabled como true. O provedor JAXR para UDDI usa UDDI4J Versão 2 para comunicar-se com o registro UDDI e UDDI4J possui sua própria criação de log.
Subtópicos
Provedor Java API for XML Registries (JAXR) para UDDI
JAXR (Java API for XML Registries) é uma API de cliente Java para acessar registros UDDI (Versão 2 apenas) e ebXML. Isso é parte da especificação Java Platform, Enterprise Edition (Java EE).Using SSL with the UDDI JAXR provider
You can use Secure Sockets Layer (SSL) to encrypt HTTP traffic between the Java API for XML Registries (JAXR) provider for UDDI and the UDDI registry.Creating a custom internal taxonomy for the JAXR provider
You can create a custom internal taxonomy and make it available to the Java API for XML Registries (JAXR) provider.JAXR provider for UDDI internal taxonomies
The Java API for XML Registries (JAXR) provider for UDDI supplies a number of internal taxonomies.JAXR provider logging and messages
The Java API for XML Registries (JAXR) provider for UDDI uses UDDI4J logging, commons logging, and some standard messages.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twsu_jaxr
Nome do arquivo: twsu_jaxr.html