martes, 7 de octubre de 2008

DataHandler para attachments

Para el envio de archivos por web, se utliza ahora en java una clase llamada Datahandler, que vienen en el paquete de javax.activation, una pequeña explicacion viene en este enlace de ibm. http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_developer.doc/doc/data_handler/datahand21.htm

en si mismo consta de una clase que encapsula que presenta la interfase basica de envio de archivos en cualquie protocolo ya sea jms, http, o por correo. esta es la base para el envio de archivos por web en cualquier tecnologia java, mas abajo seria enviar arreglos de bytes. es usado principalmente por por la api de javamail. pero ha sido adaptado a las diferentes tecnologias que envian archivos como axis y jax-rpc. un breve ejemplo de codigo es el siguiente

MessageContext msgContext = MessageContext.getCurrentContext();
Message rspmsg = msgContext.getResponseMessage()
File archivo =new File("c:/nana/"+dh.getName());
rspmsg.getAttachmentsImpl().setSendType(org.apache.axis.attachments.Attachments.SEND_TYPE_MIME);

dh = new DataHandler(new FileDataSource(archivo));
rspmsg.getAttachmentsImpl().addAttachments(new Attachments(dh));


Aunque la operabilidad de los protocolos MIME, DIME o MTOM depende principalmente de la tecnologia, la parte que codifica los archivos para que se puedan enviar pertence a esta clase sin importar protocolo o tecnologia.

No hay comentarios: