I am hitting post request and it's converting string to Jaxb.
As below class
@XmlRootElement()
@XmlAccessorType(XmlAccessType.FIELD)
@JsonInclude(Include.NON_NULL)
public class Sample{
@JsonProperty("name")
private String name= null;
@JsonProperty("Number")
private String Number= null;
and using the below method to convert as below
Public void setValue(Exchange exchange) throws InternalSystemException, JsonProcessingException, IOException, DataValidationException, JAXBException {
MessageContentsList list = exchange.getIn().getBody(MessageContentsList.class);
LOGGER.info("exchange message" + exchange.getIn().getBody(String.class));
exchange.getIn().setBody(list.get(0));
String str = exchange.getIn().getBody(String.class);
StringReader reader = new StringReader(new String(
str.getBytes()));
JAXBContext jaxbContext = JAXBContext
.newInstance(Sample.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Sample sample= (Sample ) jaxbUnmarshaller
.unmarshal(reader);
I know issue is here:
Sample sample= (Sample ) jaxbUnmarshaller
.unmarshal(reader);
But I could not find what is the exact issue.
javax.xml.bind.UnmarshalException: null
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:310) ~[jakarta.xml.bind-api-2.3.2.jar:2.3.2]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:548) ~[jaxb-impl-2.3.3.jar:2.3.3]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:234) ~[jaxb-impl-2.3.3.jar:2.3.3]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:199) ~[jaxb-impl-2.3.3.jar:2.3.3]
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[na:na]
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[na:na]
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) ~[na:na]
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[na:na]
Any help would be appreciated.