2014-10-28 2 views
1

вот вопрос:XML синтаксический (SOAP): недопустимый символ

моя задача состоит в том, чтобы управлять БД синхронизации через SOAP (пожалуйста, не спрашивайте меня, почему, я просто сказал, чтобы сделать это таким образом), и я получаю не постоянную ошибку при передаче данных. Он может появиться после 500 пройденных записей, может появиться после 20000, может даже вообще не отображаться, поэтому я полагаю, что это не поврежденные данные в БД.

логарифм этой ошибки:

[com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 20)) 
at [row,col {unknown-source}]: [1,48901]] 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:141) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:102) 
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:151) 
    at com.sun.proxy.$Proxy282.getExportGRP(Unknown Source) 
    at by.nces.oais.service.WebService.getExportGRP(WebService.java:365) 
    at by.nces.oais.service.WebService.importDataToBase(WebService.java:98) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143) 
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:149) 
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:94) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) 
    at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142) 
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) 
    at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212) 
    at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144) 
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:386) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:640) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:263) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:163) 
    at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: javax.xml.bind.UnmarshalException 
- with linked exception: 
[com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 20)) 
at [row,col {unknown-source}]: [1,48901]] 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:436) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:372) 
    at com.sun.xml.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:124) 
    at com.sun.xml.bind.api.Bridge.unmarshal(Bridge.java:237) 
    at com.sun.xml.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:261) 
    at com.sun.xml.ws.message.stream.StreamMessage.readPayloadAsJAXB(StreamMessage.java:315) 
    at com.sun.xml.ws.client.sei.ResponseBuilder$Body.readResponse(ResponseBuilder.java:496) 
    at com.sun.xml.ws.client.sei.ResponseBuilder$Composite.readResponse(ResponseBuilder.java:199) 
    at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:252) 
    at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:177) 
    at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:256) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:128) 
    ... 62 more 
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 20)) 
at [row,col {unknown-source}]: [1,48901] 
    at com.ctc.wstx.sr.StreamScanner.throwInvalidSpace(StreamScanner.java:666) 
    at com.ctc.wstx.sr.BasicStreamReader.readTextPrimary(BasicStreamReader.java:4542) 
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2859) 
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1065) 
    at com.sun.xml.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:96) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:196) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) 
    ... 72 more 
|#] 

Я использовал URLEncode/URLDecode и заставил UTF-8 для передаваемых данных, как это было предложено в подобном SO вопрос с этим вопросом Нелегальная характера - это Ждут» t помочь.

Также есть еще одна ошибка, которая случается очень редко:

[com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </tip>; expected </tipi>. 
at [row,col {unknown-source}]: [1,16133]] 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:141) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:102) 
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:151) 
    at com.sun.proxy.$Proxy283.getExportGRP(Unknown Source) 
    at by.nces.oais.service.WebService.getExportGRP(WebService.java:365) 
    at by.nces.oais.service.WebService.importDataToBase(WebService.java:98) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143) 
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:149) 
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:94) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) 
    at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142) 
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116) 
    at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212) 
    at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144) 
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:910) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:873) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:775) 
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:386) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:640) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:263) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:163) 
    at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: javax.xml.bind.UnmarshalException 
- with linked exception: 
[com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </tip>; expected </tipi>. 
at [row,col {unknown-source}]: [1,16133]] 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:436) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:372) 
    at com.sun.xml.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:124) 
    at com.sun.xml.bind.api.Bridge.unmarshal(Bridge.java:237) 
    at com.sun.xml.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:261) 
    at com.sun.xml.ws.message.stream.StreamMessage.readPayloadAsJAXB(StreamMessage.java:315) 
    at com.sun.xml.ws.client.sei.ResponseBuilder$Body.readResponse(ResponseBuilder.java:496) 
    at com.sun.xml.ws.client.sei.ResponseBuilder$Composite.readResponse(ResponseBuilder.java:199) 
    at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:252) 
    at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:177) 
    at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:256) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:128) 
    ... 62 more 
Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </tip>; expected </tipi>. 
at [row,col {unknown-source}]: [1,16133] 
    at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:606) 
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:479) 
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:464) 
    at com.ctc.wstx.sr.BasicStreamReader.reportWrongEndElem(BasicStreamReader.java:3263) 
    at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3190) 
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2809) 
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1065) 
    at com.sun.xml.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:96) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:196) 
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) 
    ... 72 more 
|#] 

[#|2014-10-23T16:36:13.302+0300|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=8837;_ThreadName=Thread-2;|StandardWrapperValve[WebService]: PWC1406: Servlet.service() for servlet WebService threw exception 
java.io.IOException: Broken pipe 
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method) 
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) 
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) 
    at sun.nio.ch.IOUtil.write(IOUtil.java:65) 
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487) 
    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:108) 
    at com.sun.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76) 
    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushChannel(SocketChannelOutputBuffer.java:426) 
    at com.sun.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:498) 
    at com.sun.grizzly.http.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:476) 
    at com.sun.grizzly.http.ProcessorTask.action(ProcessorTask.java:1287) 
    at com.sun.grizzly.tcp.Response.action(Response.java:268) 
    at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:380) 
    at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:353) 
    at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:175) 
    at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:103) 
    at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:225) 
    at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:261) 
    at com.sun.xml.ws.util.xml.XMLStreamWriterFilter.flush(XMLStreamWriterFilter.java:71) 
    at com.sun.xml.ws.streaming.XMLStreamWriterUtil.getOutputStream(XMLStreamWriterUtil.java:103) 
    at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:382) 
    at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:149) 
    at com.sun.xml.ws.api.message.FilterMessageImpl.writeTo(FilterMessageImpl.java:168) 
    at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:127) 
    at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:285) 
    at com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:421) 
    at com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:99) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:650) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:263) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:163) 
    at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:744) 
|#] 

Я застрял с этим в течение 1 недели почти, может быть, у вас есть какие-либо мысли. Цените свою помощь.

+0

Не каждый символ, который вы можете хранить в базе данных будет легальным в XML , У вас есть [контрольный символ] (http://stackoverflow.com/questions/404107) в ваших данных. – McDowell

+0

Дело в том, что эта ошибка появляется время от времени на одних и тех же фрагментах данных в разных местах. Он может даже вообще не появляться на этой конкретной части. Если бы это происходило по одной и той же записи каждый раз, я бы согласился с вами, что это проблема с данными. – Khullag

+0

Еще один момент: все данные из БД кодируются, поэтому ошибка появляется не при операции декодирования, а при десериализации данных из полученного xml. – Khullag

ответ

0

Я не знаю, что является основной причиной этой ошибки, но я могу сказать, во второй ошибки вы закрыли тег с </tip>, но предполагается закрыть с </tipi>

Посмотрите на свой <tipi> </tip> и изменить с <tipi> </tipi>

+0

У меня нет контроля над этим xml. Он автоматически создается в фоновом режиме. Тег следует называть «tipi», но кажется, что он как-то сокращает последнее письмо при создании этого тега и получает вместо – Khullag

0

вы можете использовать CDATASection

http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/CDATASection.html

приложить текст, который вы считаете, может кон tain XML-символы управления. Когда вы вытаскиваете из базы данных, смешайте все поля, вызывающие озабоченность, в <![CDATA[*text*]]>, и все должно быть в порядке!

В качестве альтернативы, вы можете вручную избежать каких-либо управляющих символов в строке, заменив их следующим образом:

& = &amp; 
< = &lt; 
> = &gt; 
" = &quot; 
' = &apos; 

Подробнее: http://javarevisited.blogspot.com/2012/09/how-to-replace-escape-xml-special-characters-java-string.html#ixzz3TLceVqKi