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

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.
- Clientes gestionados
Procedimiento
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.