JAXB Unmarshalling ne fonctionne pas. Les éléments attendus sont (aucun)

Je suis en train de unmarshal XML.

C'est ce que mon XML ressemble à

<DeviceInventory2Response xmlns="http://tempuri.org/">
<DeviceInventory2Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Obj123 xmlns="">
     <Id>1</Id>
     <Name>abc</Name>
  </Obj123>
  <Obj456 xmlns="">
  .
  .
  .

Je suis en train d'essayer d'obtenir le Nom et l'Identifiant sous Obj123. Cependant, quand je lance mon unmarshal commande j'obtiens l'erreur suivante.

An Error:  javax.xml.bind.UnmarshalException: unexpected element (uri:"http://tempuri.org/", local:"DeviceInventory2Response"). Expected elements are (none)

Mon code ressemble à ceci dans la classe principale:

Obj123 myObj123 = (Obj123) unmarshaller.unmarshal(inputSource);

Et ma classe pour Obj123 ressemble à ceci:

package com.myProj.pkg;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;


@XmlRootElement(name="Obj123")
public class Obj123 {

  private String Id;
  private String Name;

  public String getId() {
    return Id;
  }

  public String getName() {
    return Name;
  }
}

J'ai pensé par la définition de mon XMLRootElement que je devrais être capable de sauter les 2 premières lignes de mon XML mais ça ne semble pas être le cas. Des idées?

Edit:

C'est comment mon JAXB Contexte est faite:

JAXBContext jaxbContext = JAXBContext.newInstance();
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Obj123 obj123 = (Obj123) unmarshaller.unmarshal(xmlStreamReader);

source d'informationauteur Cameron Jones