Previously, my application was run on Java 5, I used StaxUtil to read XML and everything is OK.
I'm trying to upgrade my application to Java 6 but it keeps throwing this exception
Failed to update internal Cache.
com.sgx.clear.mbus.mbc.exception.ClientException: Error in parsing XML.:java.lang.Exception: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[165,16]
Message: An invalid XML character (Unicode: 0x2) was found in the element content of the document. [ErrorCode: 11070108]
at com.sgx.clear.mbus.common.util.SecurInterfaceUtil.error(Unknown Source)
at com.sgx.clear.mbus.common.util.ParseUtil.parseToJniObject(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.AbstractDirectServices.parseSecurReplyCache(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.query.AbstractDirectQueryServices.getWrapperTArray(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.query.MarketBackOffice.getMarketBackOfficeCache(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.CacheManager._processMarketBackOfficeUpdate(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.CacheManager.updateMarketBackOffice(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.CacheManager.updateAll(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.AbstractDirectAdminServices.processAdminRequest(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.AbstractDirectAdminServices.processRequest(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.Admin.login(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.admin.DirectAdminServices.login(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.services.DirectServiceManager.login(Unknown Source)
at com.sgx.dsp.secur.adaptor.SecurInterfaceAdaptor.login(SecurInterfaceAdaptor.java:1223)
at com.sgx.dsp.server.task.SessionMaintainer.run(SessionMaintainer.java:210)
at com.sgx.dsp.server.core.AbstractDSPTask$1.run(AbstractDSPTask.java:1885)
Caused by: java.lang.Exception: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[165,16]
Message: An invalid XML character (Unicode: 0x2) was found in the element content of the document.
at com.sgx.clear.mbus.mbc.directclient.beans.AnswerMarketItemT$Factory.parse(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.beans.Array100Ofomex__answer_market_item_t$Factory.parse(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.beans.AnswerMarketT$Factory.parse(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.beans.ExtensionMapper.getTypeObject(Unknown Source)
at com.sgx.clear.mbus.mbc.directclient.beans.StructWrapperT$Factory.parse(Unknown Source)
... 15 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[165,16]
Message: An invalid XML character (Unicode: 0x2) was found in the element content of the document.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:594)
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getElementText(XMLStreamReaderImpl.java:837)
at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getElementText(XMLStreamReaderWrapper.java:100)
... 20 more
Here is the code that I used
XMLStreamReader qReader = StAXUtils
.createXMLStreamReader( new StringReader( message ) );
I guess that it is because previously XMLStreamReader is from stax-api-1.0.1.jar but in Java 6, it is from rt.jar.
Anybody knows how to fix it?