Skip Schuler wrote:
Hi,

I'm not sure it this is a known issue or not, but here's the problem I'm
having with the feeding (atom, rss) binding;

I use the FeedAggregator sample that is shipped with
tuscany-sca-0.91-incubating. It runs fine out-of-the-box. However if I
change the feed reference to point to a feed that is at a endpoint that has
URL parameters, it fails (see stacktrace below).

To reproduce:  change the feed2 reference to something like this (which is
the feed from a confluence site):

<binding.atom uri="
http://mywiki/spaces/createrssfeed.action?types=page&types=blogpost&types=comment&spaces=&sort=modified&title=Dashboard+RSS+Feed&maxResults=15&publicFeed=false&os_authType=basic&rssType=atom"/

Stacktrace:

run:
     [java] Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
org.osoa.sca.ServiceRuntimeException: org.apache
.tuscany.sca.contribution.service.ContributionReadException:
com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected charact
er '=' (code 61); expected a semi-colon after the reference for entity
'types'
     [java]  at [row,col {unknown-source}]: [53,91]
     [java]     at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(
SCADomain.java:263)
     [java]     at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java
:68)
     [java]     at feed.SampleServer.main(SampleServer.java:28)
     [java] Caused by: org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.contribution.service.ContributionReadExce
ption: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character
'=' (code 61); expected a semi-colon after the refe
rence for entity 'types'
     [java]  at [row,col {unknown-source}]: [53,91]
     [java]     at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(
DefaultSCADomain.java:106)
     [java]     at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(
SCADomain.java:229)
     [java]     ... 2 more
     [java] Caused by:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
com.ctc.wstx.exc.WstxUnexpected
CharException: Unexpected character '=' (code 61); expected a semi-colon
after the reference for entity 'types'
     [java]  at [row,col {unknown-source}]: [53,91]
     [java]     at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.read(
CompositeProcessor.java:308)
     [java]     at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.read(
CompositeProcessor.java:65)
     [java]     at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.read
(ExtensibleStAXArtifactP
rocessor.java:73)
     [java]     at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.read(
CompositeDocumentProcessor.java:63)
     [java]     at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.read(
CompositeDocumentProcessor.java:43)
     [java]     at
org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.read
(ExtensibleURLArtifactPro
cessor.java:63)
     [java]     at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase
(ContributionServ
iceImpl.java:301)
     [java]     at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution
(ContributionServi
ceImpl.java:251)
     [java]     at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute
(ContributionServiceImp
l.java:119)
     [java]     at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(
DefaultSCADomain.java:104)
     [java]     ... 3 more
     [java] Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException:
Unexpected character '=' (code 61); expected a semi-colo
n after the reference for entity 'types'
     [java]  at [row,col {unknown-source}]: [53,91]
     [java]     at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(
StreamScanner.java:623)
     [java]     at com.ctc.wstx.sr.StreamScanner.parseEntityName(
StreamScanner.java:1969)
     [java]     at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(
StreamScanner.java:1471)
     [java]     at
com.ctc.wstx.sr.BasicStreamReader.parseNormalizedAttrValue(
BasicStreamReader.java:1943)
     [java]     at com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(
BasicStreamReader.java:3035)
     [java]     at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(
BasicStreamReader.java:2934)
     [java]     at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(
BasicStreamReader.java:2846)
     [java]     at com.ctc.wstx.sr.BasicStreamReader.next(
BasicStreamReader.java:1019)
     [java]     at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.read(
CompositeProcessor.java:302)
     [java]     ... 12 more
     [java] Java Result: 1
BUILD SUCCESSFUL
Total time: 1 second


Thanks!


Good catch!

It looks like it's not an issue with the Feed binding, but a more general issue with a URL containing "&" in an XML attribute. Could you try to escape the "&" as "&amp;"? like this:

http://mywiki/spaces/createrssfeed.action?types=page&amp;types=blogpost&amp;types=comment&amp;spaces=&amp;sort=modified&amp;title=Dashboard+RSS+Feed&amp;maxResults=15&amp;publicFeed=false&amp;os_authType=basic&amp;rssType=atom

Thanks

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to