On 01/03/16 10:57, Miguel Valencia wrote:
> Hi
>
> I have detected an error in my project with Apache Cocoon using dispatcher
> plugin.
>
> ERROR cocoon.access - Internal Cocoon Problem
> Caused by: org.apache.forrest.dispatcher.exception.ContractException:
> Could not invoke the transformation for the contract "meta". Error java:
> javax.xml.transform.TransformerException: Premature end of file.
>
> Error sequence is:
> a) Ask some page of my project
> b) Wait until expire jx cache
> c) Ask again the same page
>
> The web page of my project using forrest, so using structurer that are
> composite with contracts and caching with jx tag.
>
> Example jx caching:
>
> jx:cache-key=
> "${Packages.org.apache.forrest.dispatcher.impl.helper.Key
> (cocoon.request).toString()}"
> jx:cache-validity=
> "${Packages.org.apache.excalibur.source.impl.validity.
> ExpiresValidity(300000)}">
>
> Example call to contract:
>
> <forrest:contract name="comun/meta"
> dataURI="servlet:conector:/estatico/drupal/metadatos.xml">
> <forrest:property name="url">/${getRequest}/</forrest:property>
> </forrest:contract>
>
>
> Sometimes to resolve some contracts, dispatcher can not get XSLT of contract
> and then appear this error.
>
> Two things I have seen:
> 1) If not used jx cache this error not appear.
> 2) I have debug this problema until class:
> org.apache.forrest.dispatcher.impl.CocoonResolver and if put synchronized
> block here:
>
> source = resolver.resolveURI(uri);
> stream = new BufferedInputStream(source.getInputStream());
>
> then, it seems that error not show.
>
> has anyone seen this error before?
>
> Thanks
>
Hola Miguel, como estamos? ;)
It looks like that either the data url of the contract or the
${getRequest} is not resolved.
${getRequest} is a xml, coming from where?
salu2
--
Thorsten Scherler <thorsten.at.apache.org>
codeBusters S.L. - web based systems
<consulting, training and solutions>
http://www.codebusters.es/
signature.asc
Description: OpenPGP digital signature
