[
https://issues.apache.org/jira/browse/TUSCANY-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Nash resolved TUSCANY-3737.
---------------------------------
Resolution: Fixed
The problem was caused by code in the feed-aggregator and
feed-aggregator-webapp samples that was converting an RSS feed to an Atom feed
without taking account of possible UTF-8 characters in the RSS feed.
Fixed in the 1.6.1 branch under revision r1025503 and the 1.x trunk under
revision r1027635.
> feed-aggregator and feed-agggregator-webapp samples throw
> java.io.CharConversionException
> -----------------------------------------------------------------------------------------
>
> Key: TUSCANY-3737
> URL: https://issues.apache.org/jira/browse/TUSCANY-3737
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Samples
> Affects Versions: Java-SCA-1.6
> Reporter: Simon Nash
> Assignee: Simon Nash
> Fix For: Java-SCA-1.6.1
>
>
> When using the http://localhost:8083/rssAggregator browser URL in the
> feed-aggregator sample, the following exceptions are thrown from the two RSS
> feeds being aggregated. A similar problem occurs with the
> feed-aggregator-webapp sample
> [java] org.apache.abdera.parser.ParseException:
> com.ctc.wstx.exc.WstxIOExce
> ption: Invalid UTF-8 start byte 0xa3 (at char #27817, byte #23999)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java
> :260)
> [java] at
> org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(
> OMElementImpl.java:307)
> [java] at
> org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.nex
> t(OMChildrenQNameIterator.java:118)
> [java] at
> org.apache.abdera.parser.stax.util.FOMElementIteratorWrapper.
> next(FOMElementIteratorWrapper.java:41)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList.buffer(FOMList.jav
> a:74)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList.get(FOMList.java:8
> 2)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList$BufferIterator.nex
> t(FOMList.java:209)
> [java] at feed.AggregatorImpl.getFeed(AggregatorImpl.java:114)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [java] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
> sorImpl.java:39)
> [java] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
> hodAccessorImpl.java:25)
> [java] at java.lang.reflect.Method.invoke(Method.java:592)
> [java] at
> org.apache.tuscany.sca.implementation.java.invocation.JavaImp
> lementationInvoker.invoke(JavaImplementationInvoker.java:156)
> [java] at
> org.apache.tuscany.sca.core.databinding.wire.PassByValueInter
> ceptor.invoke(PassByValueInterceptor.java:55)
> [java] at
> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListe
> nerServlet.getFeed(AtomBindingListenerServlet.java:498)
> [java] at
> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListe
> nerServlet.doGet(AtomBindingListenerServlet.java:262)
> [java] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> [java] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> [java] at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.
> java:487)
> [java] at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandle
> r.java:362)
> [java] at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandle
> r.java:181)
> [java] at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandle
> r.java:726)
> [java] at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrappe
> r.java:139)
> [java] at org.mortbay.jetty.Server.handle(Server.java:324)
> [java] at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection
> .java:505)
> [java] at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplet
> e(HttpConnection.java:828)
> [java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> [java] at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:2
> 11)
> [java] at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:3
> 80)
> [java] at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEnd
> Point.java:395)
> [java] at org.apache.tuscany.sca.core.work.Work.run(Work.java:63)
> [java] at
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$Decora
> tingWork.run(ThreadPoolWorkManager.java:215)
> [java] at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
> PoolExecutor.java:651)
> [java] at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
> Executor.java:676)
> [java] at java.lang.Thread.run(Thread.java:595)
> [java] Caused by: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start
> byt
> e 0xa3 (at char #27817, byte #23999)
> [java] at
> com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java
> :683)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java
> :1086)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.getNextElementToPars
> e(FOMBuilder.java:163)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java
> :187)
> [java] ... 34 more
> [java] Caused by: java.io.CharConversionException: Invalid UTF-8 start
> byte
> 0xa3 (at char #27817, byte #23999)
> [java] at
> com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.ja
> va:302)
> [java] at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:188)
> [java] at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
> [java] at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> [java] at
> com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReade
> rSource.java:57)
> [java] at
> com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:967
> )
> [java] at
> com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:100
> 9)
> [java] at
> com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:
> 769)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.parseNormalizedAttrValue(Ba
> sicStreamReader.java:1900)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamRe
> ader.java:3035)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStream
> Reader.java:2934)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamRea
> der.java:2846)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java
> :1019)
> [java] ... 36 more
> [java] org.apache.abdera.parser.ParseException:
> java.lang.RuntimeException:
> [was class java.io.CharConversionException] Invalid UTF-8 start byte 0x80
> (at c
> har #182282, byte #179999)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java
> :260)
> [java] at
> org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(
> OMElementImpl.java:307)
> [java] at
> org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.nex
> t(OMChildrenQNameIterator.java:118)
> [java] at
> org.apache.abdera.parser.stax.util.FOMElementIteratorWrapper.
> next(FOMElementIteratorWrapper.java:41)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList.buffer(FOMList.jav
> a:74)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList.get(FOMList.java:8
> 2)
> [java] at
> org.apache.abdera.parser.stax.util.FOMList$BufferIterator.nex
> t(FOMList.java:209)
> [java] at feed.AggregatorImpl.getFeed(AggregatorImpl.java:129)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [java] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
> sorImpl.java:39)
> [java] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
> hodAccessorImpl.java:25)
> [java] at java.lang.reflect.Method.invoke(Method.java:592)
> [java] at
> org.apache.tuscany.sca.implementation.java.invocation.JavaImp
> lementationInvoker.invoke(JavaImplementationInvoker.java:156)
> [java] at
> org.apache.tuscany.sca.core.databinding.wire.PassByValueInter
> ceptor.invoke(PassByValueInterceptor.java:55)
> [java] at
> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListe
> nerServlet.getFeed(AtomBindingListenerServlet.java:498)
> [java] at
> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListe
> nerServlet.doGet(AtomBindingListenerServlet.java:262)
> [java] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> [java] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> [java] at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.
> java:487)
> [java] at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandle
> r.java:362)
> [java] at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandle
> r.java:181)
> [java] at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandle
> r.java:726)
> [java] at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrappe
> r.java:139)
> [java] at org.mortbay.jetty.Server.handle(Server.java:324)
> [java] at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection
> .java:505)
> [java] at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplet
> e(HttpConnection.java:828)
> [java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> [java] at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:2
> 11)
> [java] at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:3
> 80)
> [java] at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEnd
> Point.java:395)
> [java] at org.apache.tuscany.sca.core.work.Work.run(Work.java:63)
> [java] at
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$Decora
> tingWork.run(ThreadPoolWorkManager.java:215)
> [java] at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
> PoolExecutor.java:651)
> [java] at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
> Executor.java:676)
> [java] at java.lang.Thread.run(Thread.java:595)
> [java] Caused by: java.lang.RuntimeException: [was class
> java.io.CharConver
> sionException] Invalid UTF-8 start byte 0x80 (at char #182282, byte #179999)
> [java] at
> com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(Excepti
> onUtil.java:18)
> [java] at
> com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.ja
> va:706)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStream
> Reader.java:3655)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.j
> ava:809)
> [java] at
> org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StA
> XBuilder.java:265)
> [java] at
> org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StA
> XBuilder.java:235)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.applyTextFilter(FOMB
> uilder.java:158)
> [java] at
> org.apache.abdera.parser.stax.FOMBuilder.next(FOMBuilder.java
> :206)
> [java] ... 34 more
> [java] Caused by: java.io.CharConversionException: Invalid UTF-8 start
> byte
> 0x80 (at char #182282, byte #179999)
> [java] at
> com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.ja
> va:302)
> [java] at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:188)
> [java] at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
> [java] at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
> [java] at
> com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReade
> rSource.java:57)
> [java] at
> com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:967
> )
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStre
> amReader.java:4626)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStre
> amReader.java:4124)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamRead
> er.java:3699)
> [java] at
> com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStream
> Reader.java:3647)
> [java] ... 39 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.