Question

Pour le bean> convertion xml en webservices nous utilisons Aegis de CXF (il est compatible JAXB, que je comprends).

Ceci est mon type:

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

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

Je dois champ t.t1 être au même niveau que dans XML a et b dans C (haricot restauré à partir de xml devrait être comme ceci:

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

(code client est intéressé que par t1 de champ de la structure T). Merci.

Était-ce utile?

La solution

Vous pouvez ajouter getT1() et setT1(int) à C et faire 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
    }
  }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top