Resolving SOAPFaultException caused by com.ctc.wstx.exc. WstxUnexpectedCharException
Join the DZone community and get the full member experience.
Join For FreeIf you’re using any of these tools for Web Services – Axis2, CXF etc. – that internally make use of Woodstox XML processor (wstx), and you're getting an exception like this during webservice calls,
javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:...)
...
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ...
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:...)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:...)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:...)
at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:...)the problem is that the wstx tokenizer/parser encountered unexpected (but not necessarily invalid per se) character; character that is not legal in current context. Could happen, for example, if white space was missing between attribute value and name of next attribute, according to API docs (http://woodstox.codehaus.org/3.2.9/javadoc/com/ctc/wstx/exc/WstxUnexpectedCharException.html).
This simply means that you’re receiving an ill-formed SOAP XML as response. You need to check the SOAP response construction logic/code at the other end you’re communicating to.
Published at DZone with permission of Singaram Subramanian. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments