2013-03-03 2 views
0

Я пытаюсь передать некоторый процесс данных на стороне сервера клиенту через мой WS.Недопустимый нулевой символ в тексте для вывода

Но я получаю эту ошибку:

SEVERE: caught throwable 
    javax.xml.ws.WebServiceException: com.ctc.wstx.exc.WstxIOException: Invalid null character in text to output 
     at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:112) 
     at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:278) 
     at com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:380) 
     at com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:92) 
     at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:525) 
     at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285) 
     at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143) 
     at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:155) 
     at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:189) 
     at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:76) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid null character in text to output 
     at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:520) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:135) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.util.DOMUtil.serializeNode(DOMUtil.java:138) 
     at com.sun.xml.ws.message.saaj.SAAJMessage.writeTo(SAAJMessage.java:365) 
     at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:109) 
     ... 24 more 
Caused by: java.io.IOException: Invalid null character in text to output 
     at com.ctc.wstx.sw.XmlWriter.throwInvalidChar(XmlWriter.java:538) 
     at com.ctc.wstx.sw.BufferingXmlWriter.writeCharacters(BufferingXmlWriter.java:453) 
     at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:518) 

Это исключение выбрасывается при отправке ответа клиенту.

на стороне клиента это ответ:

ParseError at [row,col]:[1,11347] 

Но, глядя на это Его очень трудно найти, где это ошибка. В любом случае, я могу решить эту ошибку.

+0

и что вы делали во время показа ошибок? – MayogaX

+0

Сервисный вызов предназначен для расчета на стороне обслуживания и возврата ответа. Ошибка при попытке отправить ответ на клиентскую сторону. – KTB

+0

Вы когда-нибудь узнавали, что вызвало это? – peterh

ответ

0

Как исключение, некоторые строки (значение символьных данных) в объекте, который вы пытаетесь записать, содержат нулевой символ (Unicode zero). . Помимо поиска и исправления поврежденных значений строк, вы также можете решить проблему, изменив такие значения, как Woodstox. См. How to alleviate the infamous "Xml Invalid Character" problem with Woodstox.

Смежные вопросы