can't use non-English character parameter
-------------------------------------------
Key: CXF-2215
URL: https://issues.apache.org/jira/browse/CXF-2215
Project: CXF
Issue Type: Bug
Affects Versions: 2.2
Environment: windows xp, tomcat 6.0.18
Reporter: dingweilong
Priority: Critical
I have use cxf 2.2 to publish a web service in tomcat 6, the only operation in
which is
public java.lang.String greetMe( String name);
when invoke with a parameter in Chinese value, i couldn't get my result.
I use log interceptor to get the log below, you see the encoding and the
charset is not consistent
who can tell me the reason and fix the problem, thanks!
Inbound Message
----------------------------
Encoding: GB2312
Content-Type: text/xml; charset=UTF-8
Headers: {cache-control=[no-cache], content-type=[text/xml;
charset=UTF-8], connection=[keep-alive], host=[10.61.0.90:8080],
content-length=[182], SOAPAction=[""], user-agent=[Apache CXF 2.2],
Accept=[*/*], pragma=[no-cache]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
envelope/"> <soap:Body> <ns2:greetMe xmlns:ns2="http://cxf/"> <arg0>测试 </
arg0> </ns2:greetMe> </soap:Body> </soap:Envelope>
Outbound Message
---------------------------
Encoding: GB2312
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Client </
faultcode> <faultstring>Unmarshalling Error: Unexpected close tag </
ns2:greetMe>; expected </arg0>.
at [row,col {unknown-source}]: [1,148] </faultstring> </soap:Fault> </
soap:Body> </soap:Envelope>
and the exception is below:
Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected
close tag </ns2:greetMe>; expected </arg0>.
at [row,col {unknown-source}]: [1,148]
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall
(JAXBEncoderDecoder.java:622)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall
(JAXBEncoderDecoder.java:527)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:
108)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage
(DocLiteralInInterceptor.java:102)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept
(PhaseInterceptorChain.java:236)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage
(ChainInitiationObserver.java:89)
at org.apache.cxf.transport.servlet.ServletDestination.invoke
(ServletDestination.java:99)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination
(ServletController.java:337)
at org.apache.cxf.transport.servlet.ServletController.invoke
(ServletController.java:182)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke
(AbstractCXFServlet.java:163)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost
(AbstractCXFServlet.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:188)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter
(FilterDispatcher.java:413)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
[com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </
ns2:greetMe>; expected </arg0>.
at [row,col {unknown-source}]: [1,148]]
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException
(UnmarshallerImpl.java:426)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0
(UnmarshallerImpl.java:362)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal
(UnmarshallerImpl.java:339)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall
(JAXBEncoderDecoder.java:607)
... 29 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag
</ns2:greetMe>; expected </arg0>.
at [row,col {unknown-source}]: [1,148]
at com.ctc.wstx.sr.StreamScanner.constructWfcException
(StreamScanner.java:630)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:
461)
at com.ctc.wstx.sr.BasicStreamReader.reportWrongEndElem
(BasicStreamReader.java:3256)
at com.ctc.wstx.sr.BasicStreamReader.readEndElem
(BasicStreamReader.java:3198)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree
(BasicStreamReader.java:2830)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:
1019)
at org.apache.cxf.staxutils.DepthXMLStreamReader.next
(DepthXMLStreamReader.java:220)
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge
(StAXStreamConnector.java:225)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0
(UnmarshallerImpl.java:360)
... 31 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.