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

Reply via email to