Pregunta

En el Bean> conversión XML en servicios web que utilizamos Aegis de CXF (es-jaxb compatibles, como yo lo entiendo).

Este es mi tipo:

class C{
private int a;
private int b;
private T t;
...
}

class T{
private int t1;
private int t2;
}

Necesito campo t.t1 estar en el mismo nivel en XML como a y b en C (haba restaurado a partir de XML debe ser como este:

class C{ 
private int a; 
private int b;
private int t1 
}

(código de cliente está interesado solamente en t1 campo de la estructura T). Gracias.

¿Fue útil?

Solución

Se podría añadir getT1() y setT1(int) a C y hacer getT() @XmlTransient

class C {
  // snip

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  @XmlElement
  private void setT1(int t1) {
    if(t != null) {
      t.setT1(t1);
    } else {
      // TODO
    }
  }

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  private int getT1() {
    if(t != null) {
      return t.getT1(t1);
    } else {
      // TODO
    }
  }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top