JAXR-Provider für UDDI verwenden
Als Einführung in den JAXR-Provider (Java™ API for XML Registries) können Sie ein Beispielprogramm verwenden. Sehen Sie sich auch die Informationen zu Klassenbibliotheken, Authentifizierung und Sicherheit, internen Taxonomien sowie Protokollierung und Nachrichten an.
Informationen zu diesem Vorgang

Vorgehensweise
- Zum Abrufen einer ConnectionFactory-Instanz, herstellen einer Verbindung zur
Registry und zum Speichern einer Organisation in der Registry sehen Sie sich das folgende Beispielprogramm an.
Ersetzen Sie alle Referenzen auf localhost durch Referenzen auf die jeweilige IBM® i-Maschine, auf der die UDDI-Registry ausgeführt wird.
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 { // ConnectionFactory anweisen, den JAXR-Provider für UDDI zu verwenden System.setProperty("javax.xml.registry.ConnectionFactoryClass", "com.ibm.xml.registry.uddi.ConnectionFactoryImpl"); ConnectionFactory connectionFactory = ConnectionFactory.newInstance(); //Festlegen der URLs für die APIs UDDI Inquiry und Publish. //Dies müssen die URLs der APIs von UDDI Version 2 sein. 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); //Einrichten einer Verbindung zu der UDDI-Registry, die unter den obigen URLs aufgerufen werden kann Connection connection = connectionFactory.createConnection(); //Festlegen der Benutzer-ID und des Kennworts für den Zugriff auf die UDDI-Registry 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); //Abrufen der Schnittstelle javax.xml.registry.BusinessLifeCycleManager, dessen Methoden //Aufrufen der UDDI-API Publish entsprechen RegistryService registryService = connection.getRegistryService(); BusinessLifeCycleManager lifeCycleManager = registryService.getBusinessLifeCycleManager(); //Erstellen einer Organisation (UDDI-businessEntity) mit dem Namen "Organization 1" Organization org = lifeCycleManager.createOrganization("Organization 1"); //Hinzufügen der Organisation zu einer Collection, um sie in der UDDI-Registry zu speichern Collection orgs = new ArrayList(); orgs.add(org); //Speichern der Organisation in der UDDI-Registry BulkResponse bulkResponse = lifeCycleManager.saveOrganizations(orgs); //Abrufen des Schlüssels der Organisation (businessKey der UDDI-businessEntity) aus der Antwort if (bulkResponse.getExceptions() == null) { //1 Organisation wurde gespeichert, so dass in der Antwort-Collection 1 // Schlüssel zurückgegeben wird. Collection responses = bulkResponse.getCollection(); Key organizationKey = (Key)responses.iterator().next(); System.out.println("\nOrganization Key = " + organizationKey.getId()); } } }
- Stellen Sie sicher, dass der Klassenpfad gesetzt ist. Die Klassenbibliotheken des JAXR-Providers für UDDI sind in der Datei "com.ibm.uddi_1.0.0.jar" im Verzeichnis "Stammverzeichnis_des_Anwendungsservers/plugins" enthalten. Wenn Sie die JAXR-API in einer Java EE-Anwendung verwenden, die unter WebSphere Application Server ausgeführt wird, sind alle erforderlichen Klassen automatisch im Klassenpfad enthalten. Wenn Sie die JAXR-API außerhalb dieser Umgebung verwenden, müssen die folgenden JAR-Dateien im Java-Klassenpfad enthalten sein:
- Stammverzeichnis_des_Anwendungsservers/lib/bootstrap.jar
- Stammverzeichnis_des_Anwendungsservers/plugins/com.ibm.uddi_1.0.0.jar
- Stammverzeichnis_des_Anwendungsservers/plugins/com.ibm.ws.runtime_6.1.0
- Zur Verwendung des JAXR-Providers für UDDI müssen Sie zuerst
den Namen der ConnectionFactory-Implementierungsklasse angeben. Setzen Sie die Systemeigenschaft
"javax.xml.registry.ConnectionFactoryClass" auf "com.ibm.xml.registry.uddi.ConnectionFactoryImpl".
Wenn Sie diese Systemeigenschaft nicht setzen, wird standardmäßig "com.sun.xml.registry,common.ConnectionFactoryImpl" verwendet. Diese Klasse wird nicht gefunden und bewirkt eine Ausnahme des Typs "JAXRException", wenn die Methode "ConnectionFactory.newInstance()" aufgerufen wird.
Der JAXR-Provider für UDDI unterstützt keine Lookup-Operationen der ConnectionFactory über Java Naming and Directory Interface (JNDI).
- Zum Festlegen verbindungsspezifischer Eigenschaften setzen Sie ein Objekt "java.util.Properties"
in der JAXR-ConnectionFactory, bevor Sie eine Verbindung abrufen. Die vollständige Liste dieser Eigenschaften finden Sie in der JAXR-Spezifikation. In der folgenden Tabelle sind die drei wichtigsten Eigenschaften mit den Werten beschrieben, die Sie angeben können, um den JAXR-Provider für UDDI für den Zugriff auf die UDDI-Registry zu verwenden.
Tabelle 1. Verbindungsspezifische Eigenschaften, die für die Verwendung des JAXR-Providers für UDDI für den Zugriff auf die UDDI-Registry erforderlich sind. In der Tabelle sind die verschiedenen Eigenschaften zusammen mit einer Beschreibung aufgelistet. Eigenschaft Beschreibung javax.xml.registry.queryManagerURL Der URL für die Inquiry-API der UDDI-Registry für UDDI Version 2. Gewöhnlich hat diese Eigenschaft das folgende Format: http://Hostname:Port/uddisoap/inquiryapi. Diese Eigenschaft ist erforderlich. javax.xml.registry.lifeCycleManagerURL Der URL für die Publish-API der UDDI-Registry für UDDI Version 2. Gewöhnlich hat diese Eigenschaft das folgende Format: http://Hostname:Port/uddisoap/publishapi. Wenn Sie diese Eigenschaft nicht angeben, wird standardmäßig der Wert der Eigenschaft "javax.xml.registry.queryManagerURL" verwendet. Diese UDDI-Registry hat jedoch gewöhnlich andere URLs für die Inquiry- und Publish-APIs. Deshalb wird empfohlen, beide Eigenschaften anzugeben.
javax.xml.registry.authenticationMethod Die für die Authentifizierung mit der Registry zu verwendende Authentifizierungsmethode. Die gültigen Werte für diese Eigenschaft sind UDDI_GET_AUTHTOKEN und HTTP_BASIC. Wenn Sie keinen Wert angeben, wird standardmäßig UDDI_GET_AUTHTOKEN verwendet. Weitere Informationen finden Sie im folgenden Schritt. Die einzige erforderliche Verbindungseigenschaft ist "javax.xml.registry.queryManagerURL". Es empfiehlt sich jedoch, "javax.xml.registry.lifeCycleManagerURL" zu setzen und den Standardwert von "javax.xml.registry.security.authenticationMethod" zu kennen. Die anderen Verbindungseigenschaften, die in der JAXR-Spezifikation definiert sind, sind optional. Ihre Werte sind nicht für UDDI Registry spezifisch. Der JAXR-Provider für UDDI definiert keine zusätzlichen providerspezifischen Eigenschaften.
- Zur Festlegung der Methode, die der JAXR-Provider für die Authentifizierung bei der
UDDI-Registry verwendet, setzen Sie die Verbindungseigenschaft "javax.xml.registry.authenticationMethod". Die Verbindungseigenschaft "javax.xml.registry.authenticationMethod" bestimmt die Methode, die der JAXR-Provider für die Authentifizierung bei der UDDI-Registry verwendet. Für diese Eigenschaft werden zwei Werte unterstützt:
- UDDI_GET_AUTHTOKEN
Der JAXR-Provider verwendet für die Authentifizierung bei der Registry die UDDI-V2-API "get_authToken". Der JAXR-Provider setzt den get_authToken-Aufruf automatisch ab, wenn die Berechtigungsnachweise für die Verbindung gesetzt werden. Der JAXR-Provider speichert das UDDI-V2-authToken, das der Aufruf zurückgibt, für die Verwendung in nachfolgenden Aufrufen der UDDI-API "Publish".
- HTTP_BASIC
Der JAXR-Provider verwendet für die Authentifizierung mit der Registry die HTTP-Basisauthentifizierung. WebSphere Application Server unterstützt die HTTP-Basisauthentifizierung, wenn die Sicherheit aktiviert ist. Der JAXR-Provider setzt keinen get_authToken-Aufruf ab. Stattdessen werden beim Aufruf einer UDDI-API (Inquiry und Publish) der Benutzername und das Kennwort in den HTTP-Headern gesendet, und es wird eine HTTP-Basisauthentifizierung durchgeführt. Falls die UDDI-Registry keine HTTP-Basisauthentifizierung erfordert, werden die Berechtigungsnachweise ignoriert.
Wenn diese Eigenschaft nicht setzen, wird standardmäßig die Authentifizierungsmethode UDDI_GET_AUTHTOKEN verwendet.
- UDDI_GET_AUTHTOKEN
- Informationen zur Verwendung von Secure Sockets Layer (SSL) für die Verschlüsselung des HTTP-Datenverkehrs zwischen dem JAXR-Provider für UDDI und der UDDI-Registry finden Sie im Artikel SSL mit dem UDDI-JAXR-Provider verwenden.
- Informationen zur Angabe einer angepassten internen Taxonomie finden Sie im Artikel Angepasste interne Taxonomie für den JAXR-Provider erstellen.
- Zum Aktivieren der UDDI4J-Protokollierung setzen Sie die Systemeigenschaft "org.uddi4j.logEnabled" auf true. Der JAXR-Provider für UDDI verwendet UDDI4J Version 2 für die Kommunikation mit der UDDI-Registry, und UDDI4J hat eine eigene Protokollierung.
Unterartikel
JAXR-Provider (Java API for XML Registries) für UDDI
Die Java-API für XML-Registrys (JAXR) ist eine Java-Client-API für den Zugriff auf UDDI-Registrys (nur Version 2) und ebXML-Registrys. Sie gehört zur Spezifikation Java Platform, Enterprise Edition (Java EE).SSL mit dem UDDI-JAXR-Provider verwenden
Sie können Secure Sockets Layer (SSL) verwenden, um den HTTP-Datenverkehr zwischen dem JAXR-Provider (Java API for XML Registries) für UDDI und der UDDI-Registry zu verschlüsseln.Angepasste interne Taxonomie für den JAXR-Provider erstellen
Sie können eine angepasste interne Taxonomie erstellen und diese dem JAXR-Provider (Java API for XML Registries) zur Verfügung stellen.JAXR-Provider für UDDI-interne Taxonomien
Der JAXR-Provider (Java API for XML Registries (JAXR) für UDDI stellt eine Reihe interner Taxonomien bereit.Protokollierung und Nachrichten des JAXR-Providers
Der JAXR-Provider (Java API for XML Registries) für UDDI verwendet UDDI4J-Protokollierung, Commons-Protokollierung und einige Standardnachrichten.


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