Utilización del proveedor de AXR para UDDI
Para empezar a utilizar el proveedor de JAXR (Java™ API for XML), puede utilizar un programa de ejemplo. También necesita tener en cuenta las bibliotecas de clases, la autenticación y la seguridad, las taxonomías internas y el registro cronológico y los mensajes.
Acerca de esta tarea

Procedimiento
- Para obtener la instancia ConnectionFactory, cree una conexión con
el registro y guarde una organización en el registro; consulte el programa de ejemplo siguiente.
Sustituya todas las referencias a localhost por referencias a la máquina de IBM® i específica en la que se ejecuta el registro UDDI.
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 { //Indicar a ConnectionFactory que utilice el proveedor de JAXR para UDDI System.setProperty("javax.xml.registry.ConnectionFactoryClass", "com.ibm.xml.registry.uddi.ConnectionFactoryImpl"); ConnectionFactory connectionFactory = ConnectionFactory.newInstance(); //Definir los URL para la consulta de UDDI y las API de publicación. //Deben ser los URL de las API de UDDI versión 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); //Crear una conexión con el registrode UDDI a los que los URL puedan acceder. Connection connection = connectionFactory.createConnection(); //Establecer el ID de usuario y la contraseña utilizados para acceder al 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); //Obtener la interfaz javax.xml.registry.BusinessLifeCycleManager, //que contiene métodos correspondientes a llamadas a la API de publicación de UDDI. RegistryService registryService = connection.getRegistryService(); BusinessLifeCycleManager lifeCycleManager = registryService.getBusinessLifeCycleManager(); //Crear una organización (UDDI businessEntity) con el nombre //"Organización 1". Organization org = lifeCycleManager.createOrganization("Organización 1"); //Añadir la organización a una colección, lista para guardar en el registro //UDDI. Collection orgs = new ArrayList(); orgs.add(org); //Guardar la organización en el registro UDDI. BulkResponse bulkResponse = lifeCycleManager.saveOrganizations(orgs); //Obtener la clave de organización (la businessKey de businessEntity //de UDDI) de la respuesta. if (bulkResponse.getExceptions() == null) { //Se ha guardado 1 organización, por lo tanto 1 se devolverá //en la colección de respuestas Collection responses = bulkResponse.getCollection(); Key organizationKey = (Key)responses.iterator().next(); System.out.println("\nOrganization Key = " + organizationKey.getId()); } } }
- Asegúrese de que se ha establecido la vía de acceso de clases. Las bibliotecas de clases del proveedor de JAXR para UDDI se encuentran en el archivo com.ibm.uddi_1.0.0.jar, del directorio raíz_servidor_aplicaciones/plugins. Al utilizar la API de JAXR desde dentro de una aplicación EE de Java que se ejecuta en WebSphere Application Server, todas las clases necesarias estarán automáticamente en la vía de acceso de clases. Al utilizar la API de JAXR desde fuera de este entorno, deben estar en la vía de acceso de clases de Java los archivos .jar siguientes:
- raíz_servidor_aplicaciones/lib/bootstrap.jar
- raíz_servidor_aplicaciones/plugins/com.ibm.uddi_1.0.0.jar
- raíz_servidor_aplicaciones/plugins/com.ibm.ws.runtime_6.1.0
- Para utilizar el proveedor de JAXR para UDDI, especifique primero el nombre
de la clase de implementación de ConnectionFactory. Establezca la propiedad del sistema
javax.xml.registry.ConnectionFactoryClass en com.ibm.xml.registry.uddi.ConnectionFactoryImpl.
Si no se establece esta propiedad del sistema, el valor predeterminado para a ser com.sun.xml.registry,common.ConnectionFactoryImpl, que no se puede encontrar y se emite una excepción JAXRException cuando se llama al método ConnectionFactory.newInstance().
El proveedor de JAXR para UDDI o da soporte a la consulta de ConnectionFactory mediante JNDI(Java Naming and Directory Interface).
- Para especificar propiedades específicas de la conexión, establezca un objeto java.util.Properties
en la ConnectionFactory de JAXR antes de obtener una conexión. La lista completa de estas propiedades está en la especificación JAXR. En la tabla siguiente, se listan las tres propiedades más importantes y los valores que tienen para utilizar el proveedor de JAXR para UDDI para acceder al registro UDDI.
Tabla 1. Las propiedades específicas de las conexiones requieren que se utilice el proveedor de JAXR para que UDDI acceda al registro UDDI. En la tabla se listan las diferentes propiedades junto con una descripción de cada una de ellas. Propiedad Descripción javax.xml.registry.queryManagerURL El URL de la API de consulta para el registro UDDI de UDDI versión 2. Esta propiedad suele tener este formato: http://nombrehost:puerto/uddisoap/inquiryapi. Esta propiedad es obligatoria. javax.xml.registry.lifeCycleManagerURL El URL de la API de publicación para el registro UDDI de UDDI versión 2. Esta propiedad suele tener este formato: http://nombreshost:puerto/uddisoap/publishapi. Si no especifica esta propiedad, toma el valor predeterminado de la propiedad javax.xml.registry.queryManagerURL. No obstante, el registro UDDI suele tener diferentes URL para las API de consulta y publicación; por consiguiente, se recomienda especificar ambas propiedades.
javax.xml.registry.authenticationMethod El método de autenticación que debe utilizarse al autenticarse con el registro. Puede tener uno de los dos valores, UDDI_GET_AUTHTOKEN y HTTP_BASIC. Si no especifica un valor, el valor predeterminado es UDDI_GET_AUTHTOKEN. Para obtener más información, consulte el paso siguiente. La única propiedad de conexión necesaria es javax.xml.registry.queryManagerURL. No obstante, se recomienda establecer javax.xml.registry.lifeCycleManagerURL y comprender el valor predeterminado de javax.xml.registry.security.authenticationMethod. Las demás propiedades de conexión que están definidas en la especificación JAXR son opcionales y sus valores no son específicos del registro UDDI. El proveedor de JAXR para UDDI no define ninguna propiedad adicional específica del proveedor.
- Para determinar qué método utiliza el proveedor de JAXR para autenticarse con
el registro UDDI, establezca la propiedad de la conexión javax.xml.registry.authenticationMethod. La propiedad de la conexión javax.xml.registry.authenticationMethod determina qué método utiliza el proveedor de JAXR para autenticarse con el registro UDDI. Se da soporte a dos valores de esta propiedad:
- UDDI_GET_AUTHTOKEN
El proveedor de JAXR utiliza la API get_authToken de UDDI V2 para autenticarse con el registro. El proveedor de JAXR efectúa la llamada get_authToken automáticamente cuando están establecidas las credenciales de conexión. El proveedor de JAXR guarda authToken de UDDI V2 para utilizar llamadas posteriores de la API de publicación de UDDI.
- HTTP_BASIC
El proveedor de JAXR utiliza la autenticación HTTP básica para autenticarse con el registro. WebSphere Application Server da soporte a la autenticación HTTP básica cuando la seguridad está habilitada. El proveedor de JAXR no realiza una llamada get_authToken. En cambio, siempre que hay una llamada a la API de UDDI (tanto de consulta como de publicación), el nombre de usuario y la contraseña se envían a las cabeceras HTTP, sin utilizar autenticación HTTP básica. Si el registro UDDI no requiere autenticación HTTP básica, las credenciales se ignoran.
Si no establece esta propiedad, el método de autenticación predeterminado es UDDI_GET_AUTHTOKEN.
- UDDI_GET_AUTHTOKEN
- Para utilizar SSL (Sockets Layer) para cifrar tráfico HTTP entre el proveedor de JAXR para UDDI y el registro UDDI, consulte Utilización de SSL con el proveedor UDDI JAXR.
- Para proporcionar una taxonomía interna personalizada, consulte Creación de una taxonomía interna personalizada para el proveedor de JAXR.
- Para activar el registro cronológico UDDI4J, establezca la propiedad del sistema org.uddi4j.logEnabled en true. El proveedor de JAXR para UDDI utiliza UDDI4J versión 2 para comunicarse con el registro UDDI y UDDI4J tiene su propio registro cronológico.
Subtopics
Proveedor de JAXR (Java API for XML Registries) para UDDI
JAXR (Java API for XML Registries) es una API cliente Java para acceder a los registros UDDI (sólo la versión 2) y ebXML. Forma parte de la especificación Java Platform, Enterprise Edition (Java EE).Utilización de SSL con el proveedor UDDI JAXR
Puede utilizar SSL (Capa de sockets seguros) para cifrar el tráfico HTTP entre el proveedor de la API de Java for XML Registries (JAXR) para UDDI y el registro UDDI.Creación de una taxonomía interna personalizada para el proveedor de JAXR
Puede crear una taxonomía interna personalizada y que esté disponible para el proveedor de JAXR (Java API for XML Registries).Proveedor de JAXR para taxonomías internas de UDDI
El proveedor de JAXR (Java API for XML Registries) para UDDI ofrece varias taxonomías internas.Registro cronológico y mensajes del proveedor de JAXR
El proveedor de JAXR (Java API for XML Registries) para UDDI utiliza el registro cronológico UDDI4J, registros cronológicos comunes y algunos mensajes estándar.


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