Utilisation du fournisseur JAXR pour UDDI
Pour démarrer avec le fournisseur JAXR (Java™ API for XML Registries), vous pouvez utiliser un programme exemple. Vous devez également prendre en compte les bibliothèques de classes, l'authentification et la sécurité, les taxonomies internes, la journalisation et les messages.
Pourquoi et quand exécuter cette tâche

Procédure
- Pour obtenir l'instance ConnectionFactory, créer une connexion au registre et enregistrer une organisation dans le registre, voir le programme exemple suivant.
Remplacez toutes les références au système hôte local ("localhost") par des références à la machine IBM® i particulière sur laquelle le registre UDDI s'exécute.
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 { //Indiquez à ConnectionFactory d'utiliser le fournisseur JAXR pour UDDI System.setProperty("javax.xml.registry.ConnectionFactoryClass", "com.ibm.xml.registry.uddi.ConnectionFactoryImpl"); ConnectionFactory connectionFactory = ConnectionFactory.newInstance(); //Définissez les URL pour les API de publication et d'interrogation UDDI. //Il doit s'agir des URL des API UDDI version 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); //Créez une connexion au registre UDDI accessible avec les URL ci-dessus. Connection connection = connectionFactory.createConnection(); //Définissez l'ID utilisateur et le mot de passe permettant d'accéder au registre 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); //Procédez à l'extraction de l'interface javax.xml.registry.BusinessLifeCycleManager //contenant des méthodes qui correspondent aux appels des API de publication UDDI. RegistryService registryService = connection.getRegistryService(); BusinessLifeCycleManager lifeCycleManager = registryService.getBusinessLifeCycleManager(); //Créez une organisation (entité métier UDDI) dont le nom est //"Organization 1". Organization org = lifeCycleManager.createOrganization("Organization 1"); //Ajoutez l'organisation à une collection qui peut être sauvegardée dans le registre //UDDI. Collection orgs = new ArrayList(); orgs.add(org); //Sauvegardez l'organisation dans le registre UDDI. BulkResponse bulkResponse = lifeCycleManager.saveOrganizations(orgs); //Obtenez la clé d'organisation (UDDI businessEntity //businessKey) dans la réponse. if (bulkResponse.getExceptions() == null) { //1 organisation a été sauvegardée ; par conséquent, 1 clé sera renvoyée dans la //collection de réponses Collection responses = bulkResponse.getCollection(); Key organizationKey = (Key)responses.iterator().next(); System.out.println("\nOrganization Key = " + organizationKey.getId()); } } }
- Vérifiez que le chemin d'accès à la classe est défini. Les bibliothèques de classes du fournisseur JAXR pour UDDI se trouvent dans l'archive com.ibm.uddi_1.0.0.jar située dans le répertoire racine_serveur_app/plugins. Lorsque vous utilisez une API JAXR à partir d'une application Java EE exécutée sous WebSphere Application Server, toutes les classes requises se trouvent automatiquement dans le chemin d'accès aux classes. Lorsque vous utilisez une API JAXR à partir d'une application située en dehors de cet environnement, les fichiers .jar suivants doivent se trouver dans le chemin de classes Java :
- racine_serveur_app/lib/bootstrap.jar
- racine_serveur_app/plugins/com.ibm.uddi_1.0.0.jar
- racine_serveur_app/plugins/com.ibm.ws.runtime_6.1.0
- Pour utiliser le fournisseur JAXR pour UDDI, vous devez d'abord indiquer le nom de la classe d'implémentation ConnectionFactory. Affectez la valeur com.ibm.xml.registry.uddi.ConnectionFactoryImpl à la propriété système javax.xml.registry.ConnectionFactoryClass.
Si vous ne définissez pas cette propriété système, la valeur par défaut com.sun.xml.registry,common.ConnectionFactoryImpl lui est affectée. Cette valeur ne peut être trouvée et entraîne une exception JAXRException lorsque la méthode ConnectionFactory.newInstance() est appelée.
Le fournisseur JAXR pour UDDI ne prend pas en charge la consultation de ConnectionFactory avec l'interface JNDI (Java Naming and Directory Interface).
- Pour indiquer des propriétés propres à la connexion, définissez un objet java.util.Properties pour l'objet JAXR ConnectionFactory avant l'obtention d'une connexion. La spécification JAXR contient la liste complète de ces propriétés. Le tableau ci-dessous répertorie les trois propriétés les plus importantes et les valeurs auxquelles elles sont associées pour utiliser le fournisseur JAXR pour UDDI afin d'accéder au registre UDDI.
Tableau 1. Propriétés propres à la connexion nécessaires pour utiliser le fournisseur JAXR pour UDDI afin d'accéder au registre UDDI. Le tableau répertorie les différentes propriétés avec une description de chacune d'entre elles. Propriété Description javax.xml.registry.queryManagerURL URL pour l'API Inquiry API du registre UDDI pour UDDI version 2. En général, cette propriété se présente comme suit : http://nom_d'hôte:port/uddisoap/inquiryapi. Cette propriété est obligatoire. javax.xml.registry.lifeCycleManagerURL URL pour l'API Publish du registre UDDI pour UDDI version 2. En général, cette propriété se présente comme suit : http://nom_d'hôte:port/uddisoap/publishapi. Si vous ne spécifiez pas cette propriété, la valeur de la propriété javax.xml.registry.queryManagerURL lui est affectée par défaut. Toutefois, le registre UDDI dispose généralement d'adresses URL différentes pour les API Inquiry et Publish. Il est donc conseillé d'indiquer les deux propriétés.
javax.xml.registry.authenticationMethod Méthode d'authentification à utiliser lors de l'authentification avec le registre. Elle peut prendre deux valeurs différentes : UDDI_GET_AUTHTOKEN et HTTP_BASIC. Si vous ne renseignez pas cette zone, la valeur par défaut est UDDI_GET_AUTHTOKEN. Pour plus d'informations, consultez l'étape ci-après. La seule propriété de connexion requise est javax.xml.registry.queryManagerURL. Toutefois, il est conseillé de définir javax.xml.registry.lifeCycleManagerURL et de comprendre la valeur par défaut dejavax.xml.registry.security.authenticationMethod. Les autres propriétés de connexion définies dans la spécification JAXR sont facultatives et leurs valeurs ne sont pas propres au registre UDDI. Le fournisseur JAXR pour UDDI ne définit pas de propriétés spécifiques au fournisseur supplémentaires.
- Pour déterminer la méthode que le fournisseur JAXR utilise pour l'authentification auprès du registre UDDI, définissez la propriété de connexion javax.xml.registry.authenticationMethod. La propriété de connexion javax.xml.registry.authenticationMethod détermine la méthode que le fournisseur JAXR utilise pour l'authentification auprès du registre UDDI. Deux valeurs de cette propriété sont prises en charge :
- UDDI_GET_AUTHTOKEN
Le fournisseur JAXR utilise l'API get_authToken UDDI V2 pour procéder à l'authentification auprès du registre. Il procède automatiquement à l'appel get_authToken lors de la définition des justificatifs de connexion. Le fournisseur JAXR enregistre le jeton d'authentification UDDI V2 renvoyé par l'appel en vue de son utilisation lors des autres appels de l'API de publication UDDI.
- HTTP_BASIC
Le fournisseur JAXR utilise une authentification de base HTTP pour l'authentification auprès du registre. WebSphere Application Server prend en charge l'authentification de base HTTP lorsque la sécurité est activée. Le fournisseur JAXR ne procède pas à un appel get_authToken. A la place, à chaque fois qu'un appel d'API UDDI est effectué (interrogation et publication), le nom d'utilisateur et le mot de passe sont envoyés dans les en-têtes HTTP par le biais de l'authentification de base HTTP. Si le registre UDDI ne requiert pas d'authentification de base HTTP, les justificatifs sont ignorés.
Si vous ne définissez pas cette propriété, la méthode d'authentification par défaut est UDDI_GET_AUTHTOKEN.
- UDDI_GET_AUTHTOKEN
- Pour utiliser SSL afin de chiffrer le trafic HTTP entre le fournisseur JAXR pour UDDI et le registre UDDI, voir Utilisation de SSL avec le fournisseur JAXR UDDI.
- Pour fournir une taxinomie interne personnalisée, voir Création d'une taxinomie interne personnalisée pour le fournisseur JAXR.
- Pour activer la journalisation UDDI4J, affectez la valeur true à la propriété système org.uddi4j.logEnabled. Le fournisseur JAXR pour UDDI utilise UDDI4J version 2 pour communiquer avec le registre UDDI, et UDDI4J a sa propre journalisation.
Sous-rubriques
Fournisseur JAXR (Java API for XML Registries) pour UDDI
Le fournisseur JAXR (Java API for XML Registries) est une API client Java permettant l'accès à UDDI (Version 2 uniquement) et aux registres ebXML. Il fait partie de la spécification Java EE (Java Platform, Enterprise Edition).Utilisation de SSL avec le fournisseur JAXR UDDI
Vous pouvez utiliser SSL (Secure Sockets Layer) afin de chiffrer le trafic HTTP entre le fournisseur JAXR (Java API for XML Registries) pour UDDI et le registre UDDI.Création d'une taxinomie interne personnalisée pour le fournisseur JAXR
Vous pouvez créer une taxinomie interne personnalisée et la mettre à disposition du fournisseur JAXR (Java API for XML Registries).Fournisseur JAXR pour les taxinomies UDDI internes
Le fournisseur Java API for XML Registries (JAXR) pour UDDI fournit plusieurs taxinomies internes.Journalisation et messages du fournisseur JAXR
Le fournisseur Java API for XML Registries (JAXR) pour UDDI utilise la journalisation UDDI4J, la journalisation JCL et certains messages standard.


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