title: Unmarshalexception unexpected element, Expected elements are (none)
body: <p>I have problem when I want to deserialaze JAXBElement which I already serialized from byte array. I got exception:</p>
  
  <pre><code>Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Avizo"). Expected elements are (none)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:243)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:238)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1048)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:483)
      at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:465)
  </code></pre>
  
  <p>here is my code:</p>
  
  <pre><code>public class JAXBTest {
  
      public static byte[] serialize(JAXBElement&lt;AvizoType&gt; xmlData) throws Exception {
          // Result stream buffer
          ByteArrayOutputStream bos = new ByteArrayOutputStream();
  
          final JAXBContext jaxbContext = JAXBContext.newInstance(AvizoType.class);
  
          final Marshaller marshaller = jaxbContext.createMarshaller();
          marshaller.marshal(xmlData, new StreamResult(bos));
  
          return bos.toByteArray();
      }
  
      public static JAXBElement&lt;AvizoType&gt; deserialize(byte[] data) throws Exception {
          // Result stream buffer
          ByteArrayInputStream bis = new ByteArrayInputStream(data);
  
          final JAXBContext jaxbContext = JAXBContext.newInstance(AvizoType.class);
  
          final Unmarshaller marshaller = jaxbContext.createUnmarshaller();
  
          return (JAXBElement&lt;AvizoType&gt;) marshaller.unmarshal(bis);
      }
  
      public static void main(String[] args) throws Exception {
          AvizoType type = new AvizoType();
          type.setAvizoId(1);
  
          JAXBElement&lt;AvizoType&gt; element = new JAXBElement(new QName("Avizo"), AvizoType.class, type);
  
          byte[] result = serialize(element);
          deserialize(result);
  
      }
  }
  </code></pre>
  
  <p>avizoType is generated class from xsd:</p>
  
  <pre><code>    //
      // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
      // See &lt;a href="http://java.sun.com/xml/jaxb"&gt;http://java.sun.com/xml/jaxb&lt;/a&gt; 
      // Any modifications to this file will be lost upon recompilation of the source schema. 
      // Generated on: 2015.03.23 at 01:59:39 PM CET 
      //
  
  
      import java.io.Serializable;
  
      import javax.xml.bind.annotation.XmlAccessType;
      import javax.xml.bind.annotation.XmlAccessorType;
      import javax.xml.bind.annotation.XmlElement;
      import javax.xml.bind.annotation.XmlType;
  
      /**
       * &lt;p&gt;
       * Java class for AvizoType complex type.
       * 
       * &lt;p&gt;
       * The following schema fragment specifies the expected content contained within this class.
       * 
       * &lt;pre&gt;
       * &amp;lt;complexType name="AvizoType"&gt;
       *   &amp;lt;complexContent&gt;
       *     &amp;lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
       *       &amp;lt;sequence&gt;
       *         &amp;lt;element name="AvizoId" type="{http://www.w3.org/2001/XMLSchema}long"/&gt;
       *       &amp;lt;/sequence&gt;
       *     &amp;lt;/restriction&gt;
       *   &amp;lt;/complexContent&gt;
       * &amp;lt;/complexType&gt;
       * &lt;/pre&gt;
       * 
       * 
       */
  
  @XmlAccessorType(XmlAccessType.FIELD)
  @XmlType(name = "AvizoType", propOrder = { "avizoId" })
  public class AvizoType implements Serializable {
  
      @XmlElement(name = "AvizoId")
      protected long avizoId;
  
      /**
       * Gets the value of the avizoId property.
       * 
       */
      public long getAvizoId() {
          return avizoId;
      }
  
      /**
       * Sets the value of the avizoId property.
       * 
       */
      public void setAvizoId(long value) {
          this.avizoId = value;
      }
  
  }
  </code></pre>