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
>
>