Programación en castellano
-Tutoriales

El API Apache SOAP v2.2


Usar los Ganchos de Transporte

Algunas extensiones del marco de trabajo Apache SOAP necesitan la habilidad de interactúar con el SOAP envelope antes de enviarlo o después de recibirlo. Para facilitar este tipo de interacción, Apache SOAP proporciona la habilidad de insertar extensiones de transporte conectables en tiempo de ejecución. La ejemplarización real de estas extensiones de transporte en el marco de Apache SOAP son conocidas como Envelope Editors.

. Usar Envelope Editors en el Servidor

Para permitir las extensiones de transporte en el servidor, necesitamos seelccionar un parámetro de inicialización llamado EnvelopeEditorFactory en los ficheros de configuración de los servlets RPCRouter y MessageRouter. El valor de este parámetro debería ser el nombre totalmente cualificado de una clase Java que implemente org.apache.soap.transport.EnvelopeEditorFactory.

. Usar Envelope Editors en el Cliente

Para usar Envelope Editor en el lado del cliente necesitamos ejemplarizar nuestro Envelope Editor, y luego crear un ejemplar de org.apache.soap.transport.FilterTransport pasarle el objeto Envelope Editor, y un ejemplar de un objeto que represente cualquier transporte sobre el que nos estemos comunicando (por ejemplo org.apache.soap.transport.http.SOAPHTTPConnection). Luego necesitamos invocar a org.apache.soap.rpc.Call.setSOAPTransport(...) o a org.apache.soap.messaging.Message.setSOAPTransport(...), depediendo de si estámos invocando un servicio basado en RPC o un servicio orientado a mensaje, respectivamente, pasándole un ejemplar de FilterTransport.

. Crear un Envelope Editor

Para crear un Envelope Editor, primero debemos crear una Envelope Editor Factory implementando el interface org.apache.soap.transport.EnvelopeEditorFactory:

public interface EnvelopeEditorFactory
{
  public EnvelopeEditor create(Properties props) throws SOAPException;
}

El método creado toma un objeto java.util.Properties que contiene propiedades que, en el caso de lo servlets HTTP, son pasados desde los parámetros de inicialización del servlet.

Para crear un Envelope Editor, necesitamos implementar el interface org.apache.soap.transport.EnvelopeEditor:

public interface EnvelopeEditor
{
  public void editIncoming(Reader in, Writer out) throws SOAPException;
  public void editOutgoing(Reader in, Writer out) throws SOAPException;
}

Los dos métodos son las rutinas que son llamadas cuando se reciben mensajes de entrada y cuando un mensaje de salida está listo para ser enviado, respectivamente.

La clase org.apache.soap.transport.EnvelopeEditorAdapter contiene un Envelope Editor de ejemplo.

 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: jugar gratis | amor | navidad 2009 | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados