You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "dudong (JIRA)" <ji...@apache.org> on 2013/07/22 10:18:48 UTC

[jira] [Updated] (CXF-5145) CXF client can not parse the special character eg "” "

     [ https://issues.apache.org/jira/browse/CXF-5145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

dudong updated CXF-5145:
------------------------

    Description: 
errors happend when call a method that return string include special character like "\\&rdquo;",the errors below:

&rdquo;org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected character '<' (code 60); expected a semi-colon after the reference for entity 'ld...'
 at [row,col {unknown-source}]: [2,630] 
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:866)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:687)
	at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
	at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1591)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1489)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1308)
	at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
	at org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:102)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623)
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)


I use WireShark capture the return data below:

title: \xe5\x85\xb3\xe4\xba\x8e\xe8\xbf\x99\xe7\xaf\x87\xe6\x96\x87\xe7\xab\xa0\xe7\x9a\x84\xe4\xb8\xad\xe5\xbf\x83\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ldquo;\xe8\xa6\x81\xe7\x83\xad\xe7\x88\xb1\xe7\x94\x9f\xe5\x91\xbd\xef\xbc\x8c\xe7\x8f\x8d\xe6\x83\x9c\xe7\x94\x9f\xe5\x91\xbd&rdquo;\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ld...



  was:
errors happend when call a method that return string include special character like "&rdquo;",the errors below:

&rdquo;org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected character '<' (code 60); expected a semi-colon after the reference for entity 'ld...'
 at [row,col {unknown-source}]: [2,630] 
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:866)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:687)
	at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
	at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1591)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1489)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1308)
	at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
	at org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:102)
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623)
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)


I use WireShark capture the return data below:

title: \xe5\x85\xb3\xe4\xba\x8e\xe8\xbf\x99\xe7\xaf\x87\xe6\x96\x87\xe7\xab\xa0\xe7\x9a\x84\xe4\xb8\xad\xe5\xbf\x83\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ldquo;\xe8\xa6\x81\xe7\x83\xad\xe7\x88\xb1\xe7\x94\x9f\xe5\x91\xbd\xef\xbc\x8c\xe7\x8f\x8d\xe6\x83\x9c\xe7\x94\x9f\xe5\x91\xbd&rdquo;\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ld...



    
> CXF client can not parse the special character eg "&rdquo; "
> ------------------------------------------------------------
>
>                 Key: CXF-5145
>                 URL: https://issues.apache.org/jira/browse/CXF-5145
>             Project: CXF
>          Issue Type: Test
>          Components: JAX-WS Runtime
>            Reporter: dudong
>
> errors happend when call a method that return string include special character like "\\&rdquo;",the errors below:
> &rdquo;org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected character '<' (code 60); expected a semi-colon after the reference for entity 'ld...'
>  at [row,col {unknown-source}]: [2,630] 
> 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:866)
> 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:687)
> 	at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
> 	at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
> 	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1591)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1489)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1308)
> 	at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
> 	at org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:102)
> 	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> 	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623)
> 	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
> I use WireShark capture the return data below:
> title: \xe5\x85\xb3\xe4\xba\x8e\xe8\xbf\x99\xe7\xaf\x87\xe6\x96\x87\xe7\xab\xa0\xe7\x9a\x84\xe4\xb8\xad\xe5\xbf\x83\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ldquo;\xe8\xa6\x81\xe7\x83\xad\xe7\x88\xb1\xe7\x94\x9f\xe5\x91\xbd\xef\xbc\x8c\xe7\x8f\x8d\xe6\x83\x9c\xe7\x94\x9f\xe5\x91\xbd&rdquo;\xef\xbc\x8c\xe6\x9c\x89\xe4\xba\xba\xe8\xae\xa4\xe4\xb8\xba\xe6\x98\xaf&ld...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira