jersey web services tags

0

hi I'm trying to create a web service with an eclipse jersey that receives and returns an xml, the structure of the xml should be like the following:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
    <values>
        <idUsuario>aaa</idUsuario>
        <imei>54515152221212121</imei>
        <latitud>0.000000</latitud>
        <longitud>0.000000</longitud>
        <versionPda>Cat-115</versionPda>
        <tipoActualizacion>SQL</tipoActualizacion>
    </values>
</root>

but I can not add the "values" tag, so far what I could generate is the following:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
        <idUsuario>aaa</idUsuario>
        <imei>54515152221212121</imei>
        <latitud>0.000000</latitud>
        <longitud>0.000000</longitud>
        <versionPda>Cat-115</versionPda>
        <tipoActualizacion>SQL</tipoActualizacion>
</root> 

I copy the code to see if you can give me a hand, thank you very much:

package com.journaldev.jarxrs.model;



import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement (name="root")

public class ObtenerActualizacionesBeanReq {

    private String idUsuario;
    private Long imei;
    private Long latitud;
    private Long longitud;
    private String versionPda;
    private String tipoActualizacion;


    public String getIdUsuario() {
        return idUsuario;
    }
    public void setIdUsuario(String idUsuario) {
        this.idUsuario = idUsuario;
    }
    public Long getImei() {
        return imei;
    }
    public void setImei(Long imei) {
        this.imei = imei;
    }
    public Long getLatitud() {
        return latitud;
    }
    public void setLatitud(Long latitud) {
        this.latitud = latitud;
    }
    public Long getLongitud() {
        return longitud;
    }
    public void setLongitud(Long longitud) {
        this.longitud = longitud;
    }
    public String getVersionPda() {
        return versionPda;
    }
    public void setVersionPda(String versionPda) {
        this.versionPda = versionPda;
    }
    public String getTipoActualizacion() {
        return tipoActualizacion;
    }
    public void setTipoActualizacion(String tipoActualizacion) {
        this.tipoActualizacion = tipoActualizacion;
    }



}

implementation class:

package com.journaldev.jaxrs.service;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.annotation.XmlElementWrapper;

import com.journaldev.jarxrs.model.ObtenerActualizacionesBeanReq;
import com.journaldev.jarxrs.model.Person;
import com.journaldev.jarxrs.model.Response;



@Path("/person")
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public class PersonServiceImpl implements PersonService {

@POST
    @Consumes(MediaType.APPLICATION_XML)
    @Path("/getTest")
    public ObtenerActualizacionesBeanReq getTest(ObtenerActualizacionesBeanReq o) {

        ObtenerActualizacionesBeanReq o1 = new ObtenerActualizacionesBeanReq();
        o1.setIdUsuario(o.getIdUsuario());
        o1.setImei(o.getImei());
        o1.setLatitud(o.getLatitud());
        o1.setLongitud(o.getLongitud());
        o1.setTipoActualizacion(o.getTipoActualizacion());
        o1.setVersionPda(o.getVersionPda());
        return o1;
    }
}
    
asked by Gaston de la cruz 05.01.2018 в 19:27
source

1 answer

1

You must create two classes, one class that will be the root and one that will be the internal tag "values".

import javax.xml.bind.annotation.XmlRootElement;

    @XmlRootElement (name="root")
    public class ObtenerActualizacionesBeanReq {


        @XmlElement(name = "values")
        private NewClass value;

//Setter y getter para el field value
    }

// The new class

@XmlRootElement(name = "values")
@XmlAccessorType (XmlAccessType.FIELD)
    public class NewClass {

private String idUsuario;
        private Long imei;
        private Long latitud;
        private Long longitud;
        private String versionPda;
        private String tipoActualizacion;


        public String getIdUsuario() {
            return idUsuario;
        }
        public void setIdUsuario(String idUsuario) {
            this.idUsuario = idUsuario;
        }
        public Long getImei() {
            return imei;
        }
        public void setImei(Long imei) {
            this.imei = imei;
        }
        public Long getLatitud() {
            return latitud;
        }
        public void setLatitud(Long latitud) {
            this.latitud = latitud;
        }
        public Long getLongitud() {
            return longitud;
        }
        public void setLongitud(Long longitud) {
            this.longitud = longitud;
        }
        public String getVersionPda() {
            return versionPda;
        }
        public void setVersionPda(String versionPda) {
            this.versionPda = versionPda;
        }
        public String getTipoActualizacion() {
            return tipoActualizacion;
        }
        public void setTipoActualizacion(String tipoActualizacion) {
            this.tipoActualizacion = tipoActualizacion;
        }
}
    
answered by 05.01.2018 / 20:33
source