You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@mina.apache.org by llun <nu...@llun.info> on 2009/11/25 19:11:02 UTC
Can't use non english encoding when redirect request
I have problem with redirect request when response header has non english message. It shows me below stacktrace. I debug to HttpResponseEncoder.java line 47 and see it use us-ascii charset read header. So, when it read my response header it throws exception because it can't read that message in ascii charset. I temporary fixed by changed to UTF but is it have a reason or other ways to change charset without change code or should it change to unicode.
org.apache.mina.filter.codec.ProtocolEncoderException: java.nio.charset.UnmappableCharacterException: Input length = 1
at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:245)
at org.apache.mina.common.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:467)
at org.apache.mina.common.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:40)
at org.apache.mina.common.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:835)
at org.apache.mina.common.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:761)
at org.apache.mina.common.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:467)
at org.apache.mina.common.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:461)
at org.apache.mina.common.AbstractIoSession.write(AbstractIoSession.java:310)
at org.apache.mina.common.AbstractIoSession.write(AbstractIoSession.java:270)
at play.server.HttpHandler.writeResponse(HttpHandler.java:402)
at play.server.HttpHandler.copyResponse(HttpHandler.java:515)
at play.server.HttpHandler$MinaInvocation.execute(HttpHandler.java:469)
at play.Invoker$Invocation.run(Invoker.java:176)
at play.server.HttpHandler$MinaInvocation.run(HttpHandler.java:456)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: java.nio.charset.UnmappableCharacterException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:261)
at org.apache.mina.common.AbstractIoBuffer.putString(AbstractIoBuffer.java:1275)
at org.apache.asyncweb.common.HttpCodecUtils.encodeHeaders(HttpCodecUtils.java:216)
at org.apache.asyncweb.common.HttpResponseEncoder.encode(HttpResponseEncoder.java:47)
at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:236)
... 21 more