Cuando se está trabajando con web services y una las formas de enviar y recibir información es por medio de cadenas XML. Para esto se puede implementar JAXB que proporciona dos características principales: la capacidad de serializar las referencias de objetos Java a XML y la inversa, es decir, deserializar XML en objetos Java.

Ejemplo gráfico:

Envio de mensaje mediante web services

Para la conversión de una clase a XML se tendrá en cuenta lo siguiente (Ejemplo Básico):

1. La clase que se va a serializar y vemos que debe tener la notación @XmlRootElement.

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class HuellaXml {
    private byte[] huella;

    public byte[] getHuella() {
        return huella;
    }
    public void setHuella(byte[] huella) {
        this.huella = huella;
    }
}

2. Ejemplo de método donde se implementa y devuelve la cadena.

import java.io.Serializable;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

public class ConversionJAXB {
 public String convertirObjetoHuellaToXML(byte[] huella)
                                   throws BramantiException {
        StringWriter w = new StringWriter();
        try {
            HuellaXml huellaXml = new HuellaXml();
            huellaXml.setHuella(huella);
            JAXBContext context = JAXBContext.newInstance(HuellaXml.class);
            Marshaller marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            marshaller.marshal(huellaXml, w);
        } catch (JAXBException ex) {
            throw new BramantiException(ex.getMessage(), ex);
        }
        return w.toString();
    }
}

Espero que me haya hecho entender, cualquier inquietud no dudes en contactarme. Buen día

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *