title: javax.xml.bind.UnmarshalException - with linked exception: [org.xml.sax.SAXParseException: Content is not allowed in prolog.]
body: <p><strong>Customer.java</strong> </p>
  
  <pre><code>@Entity
  @Table(name = "CUSTOMER", uniqueConstraints =
  {
   @UniqueConstraint(columnNames =
  {
      "CUSTNO"
  })
  })
  @XmlRootElement
  public class Customer
      implements Serializable
  {
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  
  @Id @Column(name = "CUSTNO", length = 10, nullable = false) private String            custNo;
  
  @Column(name = "TITLE", length = 20, nullable = false) private String                 title;
  
  @Column(name = "FIRSTNAME", length = 20, nullable = false) private String             
  firstName;
  
  @Column(name = "MIDINIT", length = 1, nullable = true) private String                 
  midInit;
  
  @Column(name = "LASTNAME", length = 1, nullable = false) private String               
  lastName;
  
  @Column(name = "EMAIL", length = 50, nullable = false) private String                 
  email;
  
  @Column(name = "PHONE", length = 16, nullable = true) private String                  
  phone;
  
  @Column(name = "GENDER", length = 1, nullable = true) private String                  
  gender;
  
  @Column(name = "STREETADDRESS", length = 50, nullable = true) private String          
  streetAddress;
  
  @Column(name = "CITY", length = 20, nullable = true) private String                   
  city;
  
  @Column(name = "STATE", length = 2, nullable = true) private String                    
  state;
  
  @Column(name = "ZIPCODE", length = 10, nullable = true) private String                
  zipCode;
  
  @Column(name = "COMPANYNAME", length = 25, nullable = true) private String            
  companyName;
  
  @OneToMany(fetch = FetchType.LAZY, mappedBy = "customer") private Set&lt;ServiceRequest&gt; 
  requests;
  
  public Customer()
  {
  
  }
  ...... getters/setters....
  </code></pre>
  
  <p><strong>Client code:</strong></p>
  
  <pre><code>byte[] getCustomerResponse = (byte[])    
  RestClientUtil.sendGetMethod(urlGetCustomer + URLEncoder.encode(custNo, "UTF-8"));
  Unmarshaller unmarshaller = RestClientUtil.getUnmarshaller(Customer.class);
  StringReader reader = new StringReader(new String(getCustomerResponse));
  
  Customer customer = (Customer) unmarshaller.unmarshal(reader);
  </code></pre>
  
  <p>I see the output as: </p>
  
  <pre><code>found customer :{"customer":{"city":"city1         ","companyName":"companyName1            ","custNo":"RCN1","email":"email1@ge.com","firstName":"first1                   ","gender":"F","lastName":"last1                    ","midInit":"K","phone":"4082229871      ","state":"CA","streetAddress":"streetAddress1","title":"S   ","zipCode":"zipCode   "}}
  </code></pre>
  
  <blockquote>
    <p>javax.xml.bind.UnmarshalException
     - with linked exception:
    [org.xml.sax.SAXParseException: Content is not allowed in prolog.]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:526)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:223)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:189)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:194)
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.getCustomerByCustNo(CustomerRemoteAgent.java:151)
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.execute(CustomerRemoteAgent.java:311)
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.main(CustomerRemoteAgent.java:368)
    Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:217)
        ... 6 more
    java.lang.NullPointerException
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.submitRequest(CustomerRemoteAgent.java:167)
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.execute(CustomerRemoteAgent.java:313)
        at com.ge.dsp.iworkRemote.remoteAgents.CustomerRemoteAgent.main(CustomerRemoteAgent.java:368)</p>
  </blockquote>