On Sun, Aug 17, 2014 at 7:33 PM, pfuller pful...@callista.com.au wrote:
We have upgraded to FOP 1.1 and when trying to process an image we are
getting the following error:
SEVERE: Image not available. URI:
http://x.com:8281/contentServlet?id=70375422672598045316. Reason
: org.apache.xmlgraphics.image.loader.ImageException: The file format is
not
supported. No ImagePreloader found for
http://x.com:8281/contentServlet?id=70375422672598045316 (No context info
available)
org.apache.xmlgraphics.image.loader.ImageException: The file format is not
supported. No ImagePreloader found for
http://x.com:8281/contentServlet?id=70375422672598045316
at
org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:180)
at
org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128)
at
org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122)
at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81)
We have installed Apache FOP into an Oracle database schema and it is
called
via a plsql package. The fop jar and all its dependent jar libraries are in
the same database schema(effectively same classpath). This is were the
error
occurs. If we run it locally in Jdeveloper, using the same jars delivered
in
FOP1.1 then it works correctly.
The images served by the servlet are JPG and BMP images. We have confirmed
that the images can be accessed successfully on the box running the
process.
We tried the following solution suggested by the below post of changing the
META-INF/services files:
http://apache-fop.1065347.n5.nabble.com/FOP-1-0-images-fail-to-render-td7348.html
This solution actually worked, however we are tentative to go with this
solution since we are failing to understand why the process works locally,
but not deployed via the database. We also assume that the FOP1.1 is
working
as released, and what we have done seems to be hacking dependencies.
Is anyone able to explain why the
META-INF/Services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader
file contains only the following:
org.apache.fop.image.loader.batik.PreloaderWMF
org.apache.fop.image.loader.batik.PreloaderSVG
when the solution that is working for us contains:
g.apache.xmlgraphics.image.loader.impl.PreloaderTIFF
org.apache.xmlgraphics.image.loader.impl.PreloaderGIF
org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG
org.apache.xmlgraphics.image.loader.impl.PreloaderBMP
org.apache.xmlgraphics.image.loader.impl.PreloaderEMF
org.apache.xmlgraphics.image.loader.impl.PreloaderEPS
org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO
There are two distinct
META-INF/Services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader
files, one in xmlgraphics-commons...jar and one in fop...jar. Normally the
SPI layer (i.e., Avalon Framework) loads these separately and merges the
results in order to find all available preloaders. However, this could be
failing for some reason, and loading only one but not both. HTH.
Thanks,
Peter
--
View this message in context:
http://apache-fop.1065347.n5.nabble.com/FOP-cant-find-preloader-classes-tp41075.html
Sent from the FOP - Users mailing list archive at Nabble.com.
-
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org