Implementación de extensiones en los clientes de servicios web JAX-RPC
WebSphere Application Server proporciona extensiones para los clientes de servicios web utilizando el modelo de programación JAX-RPC (API de Java™ para RPC basado en XML).
Acerca de esta tarea
Puede personalizar los servicios web utilizando las siguientes extensiones al modelo de programación de cliente JAX-RPC.
Procedimiento
- Establezca las propiedades REQUEST_SOAP_HEADERS y RESPONSE_SOAP_HEADERS
en un apéndice de cliente JAX-RPC para permitir que los clientes de servicios web envíen o recuperen las cabeceras
SOAP implícitas. Una cabecera SOAP implícita es aquélla que no se ha definido explícitamente en el archivo WSDL. Un archivo de cabecera SOAP implícita se ajusta a una de las descripciones siguientes:
- Una parte del mensaje que se declara como cabecera SOAP del enlace en el archivo WSDL, pero ningún portType hace referencia a la definición del mensaje en un archivo WSDL.
- Un elemento que no está incluido en el archivo WSDL.
Los manejadores y los puntos finales de servicio pueden manipular cabeceras SOAP implícitas o explícitas utilizando el modelo de datos SAAJ (SOAP with Attachments API for Java).
Para obtener información sobre cómo modificar el código de cliente para enviar o recuperar cabeceras de transporte, consulte la información sobre envío de valores en cabeceras SOAP implícitas con JAX-RPC recepción de valores de cabeceras SOAP implícita con JAX-RPC.
- Establezca las propiedades REQUEST_TRANSPORT_PROPERTIES y RESPONSE_TRANSPORT_PROPERTIES para habilitar un cliente de servicios web para enviar o recuperar las cabeceras de transporte.
Establezca las propiedades en el objeto Stub o Call.
Si se modifica el código de cliente para enviar o recuperar cabeceras de transporte, puede enviar o recibir información específica dentro de las cabeceras de transporte de las solicitudes de salida o de las respuestas de entrada desde el servidor. Para las solicitudes o respuestas que utilizan el transporte HTTP, la información se envía o recupera en una cabecera HTTP. Del mismo modo, para una solicitud o respuesta que utiliza el transporte JMS (Java Message Service), la información se envía o recupera en una propiedad de mensaje JMS.
Para aprender a modificar el código de cliente para enviar o recuperar cabeceras de transporte, consulte la información sobre envío de cabeceras de transporte con JAX-RPC o la recuperación de cabeceras de transporte con JAX-RPC.
Para aprender a habilitar un cliente de servicios web para enviar o recuperar cabeceras de transporte, consulte la información sobre los métodos recomendados de las propiedades de cabeceras.
- Implemente el soporte para los métodos javax.xml.rpc.ServiceFactory.loadService(). Los métodos loadService crean una instancia de la clase de implementación del servicio generada de forma específica a cada implementación. Los métodos loadService son nuevos para JAX-RPC 1.1 e incluyen tres signaturas:
- public.javax.xml.rpc.Service loadService (Class serviceInterface)
Como se documenta en la especificación JAX-RPC, este método devuelve la implementación de servicio generada para la interfaz de servicio. Consulte las especificaciones de servicios web y la documentación de la API para revisar la especificación JAX-RPC.
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation,
Class serviceInterface, Properties properties)Este método se comporta como el método loadService (Class serviceInterface) porque se ignoran los siguientes parámetros:
- wsdlDocumentLocation
- propiedades
- public.javax.xml.rpc.Service loadService (URL wsdlDocumentLocation,
QName serviceName, Properties properties)
Este método devuelve la implementación de servicio del servicio especificado utilizando la información de correlación de namespace-to-package opcional.
- wsdlDocumentLocation - se ignora
- serviceName - QName (namespace, localpart) del servicio
- properties - Si este parámetro no es un valor nulo, contiene entradas de correlación namespace-to-package.
Cada clave de entrada de propiedad es una serie que corresponde al espacio de nombres. Cada valor de entrada de propiedad es una serie que corresponde al nombre del paquete Java.
Si el argumento de propiedades contiene una entrada con una clave (espacio de nombres) que coincide con la parte del espacio de nombres del argumento QName serviceName, el valor de entrada (javaPackage) se utiliza como nombre de paquete al intentar localizar la implementación de servicio.
- public.javax.xml.rpc.Service loadService (Class serviceInterface)
- Implemente la interfaz CustomBinder para proporcionar enlazadores de datos personalizados concretos para un tipo de esquema XML determinado (sólo aplicaciones JAX-RPC). Los enlazadores de datos personalizados se utilizan para correlacionar tipos de esquemas XML con objetos Java. Los enlazadores de datos personalizados proporcionan enlaces para los tipos de esquema XML que no están soportados por la especificación JAX-RPC (Java API for XML-based Remote Call Procedure) actual. WebSphere Application Server proporciona una ampliación de los servicios web del modelo de programación Java Platform, Enterprise Edition (Java EE), denominada interfaz CustomBinder, que implementa estos enlaces personalizados para un tipo de esquema XML específico. La interfaz CustomBinder tiene tres propiedades, además de los métodos deserialize y serialize:
- QName para el tipo de esquema XML
- Ámbito QName
- Tipo Java
El enlazador de datos personalizado define métodos de serialización y deserialización para realizar tareas de conversión entre un objeto Java y una interfaz SOAPElement. Los enlazadores de datos personalizados se añaden al sistema en tiempo de ejecución e interactúan con el módulo de ejecución de servicios web mediante un SOAPElement. Se añaden al módulo de ejecución mediante los proveedores de enlaces personalizados. Obtenga información sobre los enlazadores de datos personalizados y el proveedor de enlaces personalizado para obtener más información. Consulte la documentación de la interfaz CustomBinder para obtener más información sobre cómo implementar esta interfaz para proporcionar enlazadores de datos personalizados específicos de un tipo de esquema XML.
Subtopics
Enlazadores de datos personalizados para aplicaciones JAX-RPC
Un enlazador de datos personalizado se utiliza para correlacionar tipos de esquema XML con los objetos Java. Los enlazadores de datos personalizados proporcionan enlaces para los tipos de esquema XML que no están soportados por la especificación JAX-RPC (Java API for XML-based Remote Call Procedure) actual.Proveedores de enlaces personalizados para aplicaciones JAX-RPC
Un proveedor de enlaces personalizados es el empaquetamiento de clases de enlazador de datos personalizado con un archivo de metadatos declarativo. El objetivo principal de un proveedor de enlaces personalizados es agregar enlazadores de datos personalizados relacionados para dar soporte a casos de ejemplo de usuario específicos. El proveedor de enlaces personalizados se utiliza para conectar los enlazadores de datos personalizados con las herramientas de emisor y el sistema de tiempo de ejecución para que estas herramientas puedan generar los artefactos adecuados y el sistema de tiempo de ejecución pueda aumentar el sistema de correlaciones de tipos existente para reflejar los enlazadores de datos personalizados aplicados e invocarlos.Interfaz CustomBinder para aplicaciones JAX-RPC
WebSphere Application Server define una interfaz CustomBinder que se puede implementar para las aplicaciones JAX-RPC (Java API for XML-based Remote Call Procedure) para proporcionar enlazadores de datos personalizados concretos para un tipo de esquema XML específico.Utilización de patrones para desplegar enlazadores de datos personalizados para aplicaciones JAX-RPC
Los enlazadores de datos personalizados se utilizan para correlacionar tipos de esquemas XML con objetos Java. Los enlazadores de datos personalizados proporcionan enlaces para los tipos de esquema XML que no están soportados por la especificación JAX-RPC (Java API for XML-based Remote Call Procedure) actual. WebSphere Application Server proporciona una ampliación a los servicios web para el modelo de programación de Java Platform, Enterprise Edition (Java EE) denominado interfaz CustomBinder, que implementa estos enlaces personalizados para un tipo de esquema XML específico. El proveedor de enlaces personalizados es el paquete para los enlazadores de datos personalizados que se importa en el tiempo de ejecución.Envío de cabeceras SOAP implícitas con JAX-RPC
Puede habilitar un cliente de servicios web JAX-RPC (API de Java para RPC basado en XML) existente para que envíe los valores en las cabeceras SOAP implícitas. Si se modifica el código de cliente de modo que envíe cabeceras SOAP implícitas, puede enviar información específica dentro de una solicitud de servicio web saliente.Recepción de cabeceras SOAP implícitas con JAX-RPC
Puede habilitar un cliente de servicios web JAX-RPC (API de Java para RPC basado en XML) existente para recibir valores de las cabeceras SOAP implícitas. Si se modifica el código de cliente para recibir cabeceras SOAP implícitas, puede recibir información específica de una respuesta de servicio web entrante.Envío de cabeceras de transporte con JAX-RPC
Puede habilitar un cliente de servicios web JAX-RPC (API de Java para RPC basado en XML) para enviar información definida por la aplicación junto con las solicitudes de servicios web utilizando las cabeceras de transporte.Recuperación de cabeceras de transporte con JAX-RPC
Puede habilitar un cliente de servicios web JAX-RPC (API de Java para RPC basado en XML) existente para que recupere los valores de las cabeceras de transporte. Para una solicitud que utiliza HTTP, las cabeceras de transporte se recuperan de las cabeceras HTTP que se encuentran en el mensaje de respuesta HTTP. Para una solicitud que utiliza JMS (Java), las cabeceras de transporte se recuperan de las propiedades del mensaje JMS que se encuentran en el mensaje de respuesta JMS.


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