Implementación de clientes de servicios web JAX-RPC

Puede desarrollar clientes de servicios web en función de los servicios web de la especificación Java™ Platform, Enterprise Edition (Java EE) y el modelo de programación JAX-RPC (API de Java para RPC basado en XML).

Antes de empezar

Best practice Best practice: IBM® WebSphere Application Server soporta el modelo de programación JAX-WS (Java API for XML-Based Web Services) y el modelo de programación JAX-RPC (Java API for XML-based RPC). JAX-WS es la siguiente generación del modelo de programación de servicios que amplía la base proporcionada por el modelo de programación JAX-RPC. Con el modelo de programación JAX-WS estratégico, se simplifica el desarrollo de clientes y servicios web ya que se da soporte a un modelo de anotación basado en estándares. Aunque el modelo de programación JAX-RPC y las aplicaciones siguen recibiendo soporte, puede beneficiarse de la facilidad de implementación del modelo de programación JAX-WS para desarrollar nuevas aplicaciones y clientes de servicios web.bprac

Acerca de esta tarea

Desarrollo de clientes de servicios web según el modelo de programación de JAX-RPC

El modelo de programación del cliente de servicios web proporciona las directrices para acceder a servicios web en un entorno Java EE. Puede desarrollar clientes de servicios web en función de la especificación de servicios web para Java Platform, Enterprise Edition (Java EE) y la especificación JAX-RPC (API de Java para RPC basado en XML). El servidor de aplicaciones da soporte a clientes de Enterprise JavaBeans (EJB), clientes de aplicaciones Java EE, archivos de JavaServer Pages (JSP) y servlets basados en el modelo de programación JAX-RPC.

Clientes de servicios web JAX-RPC gestionados y no gestionados

El servidor de aplicaciones da soporte a clientes de servicios web gestionados y no gestionados cuando se utiliza el modelo de programación JAX-RPC:

  • Clientes gestionados

    Los servicios web para los clientes Java EE se definen mediante la especificación JSR (Java Specification Requirements) 109 y se conocen como clientes gestionados porque se ejecutan en un contenedor Java EE. Estos clientes se empaquetan como archivos EAR (Enterprise Archive) y contienen componentes que actúan como solicitantes de servicio. Estos componentes están formados por una aplicación de cliente Java EE, un componente web como por ejemplo un servlet o páginas JavaServer (JSP), o Enterprise JavaBeans (EJB) de sesión. Los clientes gestionados de servicios web utilizan las API JSR 109 y la información de despliegue para buscar e invocar un servicio web.

    Para los clientes gestionados, la búsqueda de servicio se realiza mediante la búsqueda JNDI (Java Naming and Directory Interface). Consulte la información acerca de cómo configurar la seguridad de servicios web de señal de nombre de usuario, la seguridad de servicios web de firma digital y la seguridad de servicios web de la señal LTPA (Lightweight Third-Party Authentication). El código siguiente es un ejemplo de una búsqueda de contexto compatible con JSR 109:

    InitialContext ctx = new InitialContext();
        FredsBankServiceLocator locator
    =(FredsBankService)ctx.lookup("java:comp/env/service/FredsBankService");
        FredsBank fb = locator.getFredsBank(url);
        long balance = fb.getBalance();  

    Cuando crea una instancia de una búsqueda de contexto para un cliente gestionado, no utilice new() como localizador de servicio. El siguiente es un ejemplo que no es compatible con JSR 109 (nuevo ServiceLocator):

    Properties prop = new Properties();
        InitialContext ctx = new InitialContext(prop);
        FredsBankServiceLocator locator = new FredsBankServiceLocator();
        FredsBank fb = locator.getFredsBank(url);
        long balance = fb.getBalance(); 

    Sin la llamada a lookup(), el cliente no tiene acceso al descriptor de despliegue. En el caso de los servicios web JAX-RPC, la configuración de la seguridad de servicios web se encuentra en el descriptor de despliegue de servicios web.

  • Clientes no gestionados

    Los clientes de Java Platform, Standard Edition (Java SE 6) que utilizan el entorno de ejecución JAX-RPC para invocar servicios web y no se ejecutan en un contenedor Java EE se conocen como clientes no gestionados. Un cliente de servicios web no gestionado es un cliente Java autónomo que puede inspeccionar directamente un archivo WSDL y formular las llamadas al servicio web utilizando las API JAX-RPC directamente. Estos clientes se empaquetan como archivos JAR que no contienen ninguna información de despliegue.

    Para que una aplicación Java actúe como cliente de servicio web, debe existir una correlación entre el archivo WSDL y la aplicación Java. Para los servicios web JAX-RPC, la correlación se define mediante la especificación JAX-RPC. Puede utilizar un componente Java para implementar un servicio web. Para ello, especifique la interfaz y la información de enlace del componente en el archivo WSDL y diseñe la infraestructura del servidor de aplicaciones para que acepte la solicitud de servicio. Este proceso completo está basado en la especificación Servicios web para Java EE. La especificación JAX-RPC define la correlación entre un archivo WSDL, el código Java y los tipos de esquema XML.

Procedimiento

  1. Obtenga el documento WSDL (Web Services Description Language) para el servicio web al que desea acceder.

    Puede obtener el archivo WSDL del suministrador de servicio mediante correo electrónico, mediante un URL (Uniform Resource Locator) o consultarlo en un registro UDDI (Universal Description, Discovery and Integration).

  2. Desarrolle enlaces de cliente a partir de un archivo WSDL utilizando la herramienta de línea de mandatos WSDL2Java. Se genera la información necesaria para invocar el servicio web, incluida la interfaz de punto final de servicio y las implementaciones, la interfaz de servicios generados y los descriptores de despliegue ibm-webservicesclient-bnd.xmi e ibm-webservicesclient-ext.xmi.
  3. Termine la implementación del cliente. Escriba el código de la aplicación cliente que se utiliza para invocar el servicio web.
    Consulte el Capítulo 4 de la especificación JSR 109. Para obtener una lista completa de los estándares y las especificaciones a los que se da soporte, consulte las especificaciones y la documentación de la API de los servicios Web.
    Nota: Si una aplicación crea un cierto número de hebras en el cliente JSR 109, los metadatos (incluida la configuración de WebSphere Application Server) no se copian en la hebra, y no se llama al manejador de la seguridad global.

    Puede revisar el ejemplo de servicios web basados en JAX-RPC, cliente GetQuote, en la aplicación WebServicesSamples que está disponible para su descarga. Para obtener más información, consulte la información sobre ejemplos de la Versión 8.0.

  4. (Opcional) Ensamble un archivo (JAR) de archivadorJava de cliente habilitado por servicios web en un archivo archivador de empresa (EAR). Lleve a cabo este paso si desarrolla un cliente gestionado que se ejecuta en el contenedor cliente de Java EE.
  5. (Opcional) Ensamble un archivo de archivador (WAR) de aplicación web de cliente habilitado por servicios web en un archivo EAR (enterprise archive). Lleve a cabo este paso si desarrolla un cliente gestionado que se ejecuta en el contenedor cliente de Java EE.
  6. (Opcional) Configure el descriptor de despliegue de cliente. Complete este paso si va a desarrollar un cliente JAX-RPC gestionado.
  7. (Opcional) Configure el descriptor de despliegue ibm-webservicesclient-bnd.xmi. Complete este paso si desarrolla un cliente JAX-RPC gestionado que se ejecuta en el contenedor del cliente Java EE y desea alterar temporalmente los valores predeterminados del cliente. Consulte la sección Propiedades de ensamblaje de ibm-webservicesclient-bnd.xmi para obtener más información acerca del descriptor de despliegue ibm-webservicesclient-bnd.xmi.
  8. (Opcional) Despliegue la aplicación cliente de servicios web. Lleve a cabo este paso para desplegar un cliente de servicios web JAX-RPC que se ejecuta en el contenedor cliente de Java EE.
  9. Pruebe la aplicación cliente habilitada para servicios Web. Puede probar un archivo JAR de cliente no gestionado o una aplicación de cliente gestionado.

Resultados

Habrá creado y probado una aplicación cliente de servicios web.

Qué hacer a continuación

Después de que desarrolla un cliente de aplicaciones de servicios web y se enlaza estáticamente el cliente, el punto final de servicio que utiliza la implementación es aquél que se identifica en el archivo WSDL que ha utilizado durante el proceso de desarrollo. Durante o después de la instalación de la aplicación de servicios web, quizá desee cambiar el punto final de servicio. Para los clientes gestionados, puede cambiar el punto final con la consola administrativa o con la herramienta del script wsadmin.

Además puede personalizar el servicio web implementando extensiones en el cliente de servicios web. Algunos ejemplos de etas extensiones incluyen el envío y la recepción de valores en cabeceras SOAP, el envío y la recepción de cabeceras de transporte HTTP o JMS o el uso de enlaces personalizados. Para obtener más información acerca de estas extensiones, lea la información sobre la implementación de extensiones en los clientes de servicios web.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxrpcclient
File name: twbs_devwbsjaxrpcclient.html