I have filed it as a bug (with 'test case')
https://issues.apache.org/jira/browse/CXF-1771
Martijn
On Thu, 2008-08-28 at 21:36 -0400, Benson Margulies wrote:
> This shouldn't be possible. I've seen something like it when some
> other error leaves the interceptor stack at the wrong place. Can you
> post a test case to JIRA?
>
> On Thu, Aug 28, 2008 at 6:01 PM, Martijn Brinkers
> <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I use CXF as a soap server and CXF as a soap client. In one of my soap
> > calls I return a String but sometimes this results in a
> > WstxUnexpectedCharException.
> >
> > "WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 27))"
> >
> > I read that a WstxUnexpectedCharException can be caused by a HTML server
> > returning HTML content but that's not the case here. The string that's
> > returned is returned by my CXF soap server. Shouldn't it be escaped or
> > something?
> >
> > Thanks,
> >
> > Martijn Brinkers
> >
> > PS. I use CXF 2.1
> >
> >
> >
> > Partial stacktrace
> >
> > Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error:
> > Illegal character ((CTRL-CHAR, code 27))
> > at [row,col {unknown-source}]: [7,1]
> > at
> > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:642)
> > at
> > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:555)
> > at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:64)
> > at
> > org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:102)
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
> > at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
> > at org.apache.cxf.transport.http.HTTPConduit
> > $WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
> > at org.apache.cxf.transport.http.HTTPConduit
> > $WrappedOutputStream.close(HTTPConduit.java:1824)
> > at
> > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> > at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583)
> > at org.apache.cxf.interceptor.MessageSenderInterceptor
> > $MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
> > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
> > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
> > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> > at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:177)
> > ... 111 more
> > Caused by: javax.xml.bind.UnmarshalException
> > - with linked exception:
> > [com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character
> > ((CTRL-CHAR, code 27))
> > at [row,col {unknown-source}]: [7,1]]
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:422)
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:337)
> > at
> > org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:628)
> > ... 126 more
> > Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal
> > character ((CTRL-CHAR, code 27))
> > at [row,col {unknown-source}]: [7,1]
> > at
> > com.ctc.wstx.sr.StreamScanner.throwInvalidSpace(StreamScanner.java:650)
> > at
> > com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4666)
> > at
> > com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
> > at
> > com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
> > at
> > com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
> > at
> > com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)
> > at
> > org.apache.cxf.staxutils.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:159)
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:356)
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:220)
> > at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
> > ... 128 more
> >
> >