#1 Fri 18 September 2015 11:52
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Impression PDF via print-servlet-2.0.0
Bonjour,
Je souhaite ajouter un module d'export PDF à mes projets de cartographie dynamique (OpenLayers+Geoext).
Je sais que c'est un sujet qui a déjà été évoque, mais je me permet de le re-lancer parce que j'aurai vraiment besoin de cette possibilité.
Jusqu’à maintenant, j'ai contourne l'impression en utilisant les fonctionnalités des navigateurs (impression CSS). Mais celle-ci est difficile a gérer
et n'a pas toujours le rendu souhaite.
J'ai déjà tester, il y a quelques temps cette solution, mais sans grand succès.
Comme je suis obstiné, je me relance dans les tests.
Voici, ma configuration :
- Debian 7
- Tomcat 7
- Apache2
- java-1.6.0-openjdk-i386
- print-servlet-2.0.0
- Maperserv (sur un autre serveur debian)
- Exemple carte dynamique Geoext2 (https://geoext.github.io/geoext2/exampl … eview.html)
L'export PDF via l'exemple Geoext2 fonctionne (fichier PDF avec le fond de carte et les points) ==> Ok.
Là, je me dis que le module d'export PDF fonctionne.
Lorsque j'ajoute une couche WMS interne via mapserver, la partie contenant la carte sur le PDF est blanche.
Pourquoi ?
Je n'arrive pas a trouver.
Je ne sais plus dans quelle direction chercher :
- flux WMS (Mapserver)
- config Apache2
- config print-servlet
- projection
- ????
Voici mes fichiers :
index.html :
Code:
<!DOCTYPE html> <html> <head> <title>Impression PDF avec GeoExt2</title> <!-- ExtJS --> <script type="text/javascript" src="https://cdn.sencha.com/ext/gpl/4.2.1/examples/shared/include-ext.js"></script> <script type="text/javascript" src="https://cdn.sencha.com/ext/gpl/4.2.1/examples/shared/options-toolbar.js"></script> <!-- Shared --> <link rel="stylesheet" type="text/css" href="https://cdn.sencha.com/ext/gpl/4.2.1/examples/shared/example.css" /> <!-- Basic example styling --> <link rel="stylesheet" type="text/css" href="./example.css" /> <!-- You should definitely consider using a custom single-file version of OpenLayers --> <script type="text/javascript" src="./lib/OpenLayers-2.13.1/OpenLayers.js"></script> <script type="text/javascript" src="http://[MON DOMAINE]:8080/print-servlet-2.0-SNAPSHOT/pdf/info.json?var=printCapabilities"></script> script type="text/javascript" src="app.js"></script> </head> <body> <div id="content"></div> </body> </html>
app.js :
Code:
/* * Copyright (c) 2008-2014 The Open Source Geospatial Foundation * * Published under the BSD license. * See https://github.com/geoext/geoext2/blob/master/license.txt for the full * text of the license. */ Ext.Loader.setConfig({ enabled: true, disableCaching: false, paths: { GeoExt: "./lib/geoext2/src/GeoExt", Ext: "./lib/extjs/src" } }); Ext.require([ 'Ext.Window', 'GeoExt.panel.Map', 'GeoExt.data.MapfishPrintProvider', 'GeoExt.panel.PrintMap' ]); var mapPanel, printDialog, printProvider; Ext.application({ name: 'PrintPreviewGeoExt2', launch: function() { // The PrintProvider that connects us to the print service printProvider = Ext.create('GeoExt.data.MapfishPrintProvider', { method: "GET", // "POST" recommended for production use capabilities: printCapabilities, // provide url instead for lazy loading customParams: { mapTitle: "GeoExt Printing Demo", comment: "This demo shows how to use GeoExt.PrintMapPanel" } }); var style = { strokeColor: '#000000', strokeWidth: 2, strokeOpacity: 1, fillColor: '#ee0000', fillOpacity: 1, pointRadius: 6, graphicName: 'circle', }, vecLayer = new OpenLayers.Layer.Vector("A Vector Layer", { styleMap: new OpenLayers.StyleMap({ "default": style }) }), // Both Burnie and Devonport (cities in Tasmania) are styled through the // above stylemap burnie = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point(145.875278, -41.063611) ), devonport = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point(146.333333, -41.166667) ), // Hobart (the capital) gets inline style, this will also be printable hobart = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point(-0.15, 45.8), null, Ext.applyIf({graphicName: 'square'}, style) ); // Add the cities to the layer vecLayer.addFeatures([burnie, devonport, hobart]); // A MapPanel with a "Print..." button mapPanel = Ext.create('GeoExt.panel.Map', { renderTo: "content", width: 500, height: 350, map: { controls: [ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.LayerSwitcher(), ], projection: "EPSG:4326", units: 'm' }, layers: [ new OpenLayers.Layer.WMS( "OpenStreetMap WMS", // using http here because the print-servlet cant handle https "http://ows.terrestris.de/osm/service?", {layers: 'OSM-WMS'}, { attribution: '© terrestris GmbH & Co. KG <br>' + 'Data © OpenStreetMap ' + '<a href="http://www.openstreetmap.org/copyright/en"' + 'target="_blank">contributors<a>' } ), vecLayer, new OpenLayers.Layer.WMS( "Region", 'https://[MON DOMAINE]/cgi-bin/wms_r500?', { layers: 'region_fr', format: 'image/png', srs: 'EPSG:4326' },{ singleTile: true, isBaseLayer: true } ) ], center: [-0.25, -46.56], zoom: 8, bbar: [{ text: "Print...", handler: function(){ // A window with the PrintMapPanel, which we can use to adjust // the print extent before creating the pdf. printDialog = Ext.create('Ext.Window', { title: "Print Preview", layout: "fit", border: false, width: 350, autoHeight: true, items: [{ xtype: "gx_printmappanel", sourceMap: mapPanel, printProvider: printProvider }], bbar: [{ text: "Create PDF", handler: function(){ printDialog.items.get(0).print(); } }] }); printDialog.show(); } }] }); } });
/var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml :
Code:
#=========================================================================== # allowed DPIs #=========================================================================== dpis: - 254 - 190 - 127 - 56 #=========================================================================== # allowed Formats #=========================================================================== # '*' means any formats formats: ['*'] #=========================================================================== # the allowed scales #=========================================================================== scales: - 25000 - 50000 - 100000 - 200000 - 500000 - 1000000 - 2000000 - 4000000 - 8000000 - 16000000 - 32000000 - 64000000 #=========================================================================== # the list of allowed hosts #=========================================================================== hosts: - !localMatch dummy: true - !ipMatch ip: www.camptocamp.org - !dnsMatch host: labs.metacarta.com port: 80 - !dnsMatch host: demo.mapfish.org port: 80 - !dnsMatch host: a.tile.openstreetmap.org port: 80 - !dnsMatch host: b.tile.openstreetmap.org port: 80 - !dnsMatch host: c.tile.openstreetmap.org port: 80 - !dnsMatch host: ows.terrestris.de port: 80 - !dnsMatch host: [MON DOMAINE].fr port: 443 # the default fileName for the files downloaded from the servlet outputFilename: MapFish_PrintOut layouts: #=========================================================================== A4 portrait: #=========================================================================== # override the default outputFileName defined above # outputFilename: A4_Layout mainPage: rotation: true pageSize: A4 header: height: 50 items: - !text font: Helvetica fontSize: 30 align: right text: '${mapTitle}' items: - !map spacingAfter: 30 width: 440 height: 483 - !text text: '${comment}' spacingAfter: 30 footer: height: 30 items: - !columns items: - !text backgroundColor: #FF0000 align: left text: Copyright Camptocamp SA - !text align: right text: 'Page ${pageNum}'
Si quelqu'a une idée de ce qui peut poser probleme, je suis preneur.
Merci, d'avance.
Tony
Ps:
Quelle est la difference entre la version print-servlet-2.0.0 et print-servlet-2.0.0-SNAPSHOT ?
Hors ligne
#2 Fri 18 September 2015 13:05
Re: Impression PDF via print-servlet-2.0.0
Bonjour,
Deux pistes pour trouver des informations sur le problème :
1. que donne les logs catalina ?
2. la page PDF blanche n'a pas un commentaire quelque part ? Généralement il y a un message d'erreur dedans.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 18 September 2015 14:56
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
1)
/var/log/tomcat7/catalina.out
18 sept. 2015 14:29:03 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
18 sept. 2015 14:29:03 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 996 ms
18 sept. 2015 14:29:03 org.apache.catalina.core.StandardService startInternal
INFO: Démarrage du service Catalina
18 sept. 2015 14:29:03 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
18 sept. 2015 14:29:03 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration /etc/tomcat7/Catalina/localhost/manager.xml
18 sept. 2015 14:29:04 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration /etc/tomcat7/Catalina/localhost/host-manager.xml
18 sept. 2015 14:29:04 org.apache.catalina.startup.HostConfig deployWAR
INFO: Déploiement de l'archive /var/lib/tomcat7/webapps/geosource.war de l'application web
18 sept. 2015 14:29:04 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat7/webapps/geosource/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.FileNotFoundException: /usr/share/tomcat7/test.lock.db (Permission denied)"; "/usr/share/tomcat7/test.lock.db" [90031-152]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convertIOException(DbException.java:313)
at org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:382)
at org.h2.store.FileLock.save(FileLock.java:203)
at org.h2.store.FileLock.lockFile(FileLock.java:335)
at org.h2.store.FileLock.lock(FileLock.java:134)
at org.h2.engine.Database.open(Database.java:535)
at org.h2.engine.Database.openDatabase(Database.java:218)
at org.h2.engine.Database.<init>(Database.java:213)
at org.h2.engine.Engine.openSession(Engine.java:56)
at org.h2.engine.Engine.openSession(Engine.java:159)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
at org.h2.engine.Engine.createSession(Engine.java:121)
at org.h2.engine.Engine.createSession(Engine.java:28)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:285)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:114)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:98)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:615)
at java.sql.DriverManager.getConnection(DriverManager.java:195)
at org.h2.server.web.DbStarter.contextInitialized(DbStarter.java:50)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5284)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: java.io.FileNotFoundException: /usr/share/tomcat7/test.lock.db (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.h2.store.fs.FileSystemDisk.openFileOutputStream(FileSystemDisk.java:374)
... 32 more
2015-09-18 14:29:11,938 INFO [jeeves] - Overrides being applied to configuration file: .*/WEB-INF/config.xml
2015-09-18 14:29:11,942 INFO [jeeves] - Replacing attribute value of node appHandler/param[@name='preferredSchema']
2015-09-18 14:29:11,945 INFO [jeeves] - Replacing attribute value of node appHandler/param[@name='useSubversion']
2015-09-18 14:29:11,945 INFO [jeeves] - Replacing text of general/maxUploadSize
2015-09-18 14:29:11,948 INFO [jeeves] - Replacing child xml elements of resources
2015-09-18 14:29:11,960 INFO [jeeves] - Upload directory is: /var/lib/tomcat7/webapps/geosource/./data/tmp/
2015-09-18 14:29:11,975 WARN [jeeves.dbmspool] - Using transaction isolation setting READ_COMMITTED
2015-09-18 14:29:15,092 ERROR [jeeves.engine] - Raised exception while initializing resource main-db in /var/lib/tomcat7/webapps/geosource/WEB-INF/config.xml. Skipped.
2015-09-18 14:29:15,092 ERROR [jeeves.engine] - Resource : main-db
2015-09-18 14:29:15,092 ERROR [jeeves.engine] - Provider : jeeves.resources.dbms.ApacheDBCPool
2015-09-18 14:29:15,093 ERROR [jeeves.engine] - Exception : org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.)
2015-09-18 14:29:15,093 ERROR [jeeves.engine] - Message : Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.)
2015-09-18 14:29:15,094 ERROR [jeeves.engine] - Stack : org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at jeeves.resources.dbms.Dbms.connect(Dbms.java:89)
at jeeves.resources.dbms.AbstractDbmsPool.open(AbstractDbmsPool.java:142)
at jeeves.server.JeevesEngine.initResources(JeevesEngine.java:528)
at jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:335)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:192)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: org.postgresql.util.PSQLException: La tentative de connexion a échoué.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:152)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 26 more
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:206)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
... 36 more
2015-09-18 14:29:15,095 ERROR [jeeves.engine] - {Stack=org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at jeeves.resources.dbms.Dbms.connect(Dbms.java:89)
at jeeves.resources.dbms.AbstractDbmsPool.open(AbstractDbmsPool.java:142)
at jeeves.server.JeevesEngine.initResources(JeevesEngine.java:528)
at jeeves.server.JeevesEngine.loadConfigFile(JeevesEngine.java:335)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:192)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: org.postgresql.util.PSQLException: La tentative de connexion a échoué.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:152)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 26 more
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:206)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
... 36 more
, Exception=org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.), Resource=main-db, Message=Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.), Provider=jeeves.resources.dbms.ApacheDBCPool, Error=Raised exception while initializing resource main-db in /var/lib/tomcat7/webapps/geosource/WEB-INF/config.xml. Skipped.}
2015-09-18 14:29:20,520 WARN [jeeves.engine] - Jeeves DBMS service configuration lookup failed (database may not be available yet). Message is: null
2015-09-18 14:29:21,105 INFO [jeeves.service] - Service csw already exist, re-register it.
2015-09-18 14:29:21,248 INFO [jeeves.apphand] - Initializing GeoNetwork 2.9.2.0 ...
2015-09-18 14:29:21,256 WARN [geonetwork.data.directory] - - Data directory initialization: null
2015-09-18 14:29:21,256 WARN [geonetwork.data.directory] - - Data directory properties is not set. Use geosource.dir or geonetwork.dir properties.
2015-09-18 14:29:21,256 WARN [geonetwork.data.directory] - - Data directory provided could not be used. Using default location: /var/lib/tomcat7/webapps/geosource/WEB-INF/data/
2015-09-18 14:29:21,257 INFO [jeeves.apphand] - Data directory: /var/lib/tomcat7/webapps/geosource/WEB-INF/data/
2015-09-18 14:29:21,258 INFO [jeeves.apphand] - jeeves.xml.catalog.files property set to /var/lib/tomcat7/webapps/geosource/WEB-INF/oasis-catalog.xml;/var/lib/tomcat7/webapps/geosource/WEB-INF/data/config/schemaplugin-uri-catalog.xml
2015-09-18 14:29:21,258 INFO [jeeves.apphand] - jeeves.xml.catalog.blankxslfile property set to /var/lib/tomcat7/webapps/geosource/xsl/blanks.xsl
2015-09-18 14:29:21,258 INFO [jeeves.apphand] - mime-mappings property set to /var/lib/tomcat7/webapps/geosource/WEB-INF/mime-types.properties
2015-09-18 14:29:21,406 INFO [jeeves] - Overrides being applied to configuration file: .*/WEB-INF/config-db.xml
2015-09-18 14:29:21,407 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-rus-']
2015-09-18 14:29:21,408 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-ger-']
2015-09-18 14:29:21,409 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-spa-']
2015-09-18 14:29:21,410 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-dut-']
2015-09-18 14:29:21,410 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-chi-']
2015-09-18 14:29:21,411 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-por-']
2015-09-18 14:29:21,412 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-cat-']
2015-09-18 14:29:21,412 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-nor-']
2015-09-18 14:29:21,413 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-fin-']
2015-09-18 14:29:21,414 INFO [jeeves] - Removing xml elements: data/file[@filePrefix='loc-ara-']
2015-09-18 14:29:21,415 INFO [jeeves] - Replacing child xml elements of migrate
2015-09-18 14:29:24,435 ERROR [jeeves.apphand] - Failed to open database connection, Check config.xml db file configuration.
2015-09-18 14:29:24,436 ERROR [jeeves.apphand] - org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (La tentative de connexion a échoué.)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at jeeves.resources.dbms.Dbms.connect(Dbms.java:89)
at jeeves.resources.dbms.AbstractDbmsPool.open(AbstractDbmsPool.java:142)
at jeeves.server.resources.ResourceManager.open(ResourceManager.java:105)
at org.fao.geonet.Geonetwork.initDatabase(Geonetwork.java:753)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:198)
at jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:600)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:206)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: org.postgresql.util.PSQLException: La tentative de connexion a échoué.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:152)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 28 more
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:206)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
... 38 more
2015-09-18 14:29:24,437 ERROR [jeeves.engine] - Raised exception while starting appl handler. Skipped.
2015-09-18 14:29:24,438 ERROR [jeeves.engine] - Handler : org.fao.geonet.Geonetwork
2015-09-18 14:29:24,438 ERROR [jeeves.engine] - Exception : java.lang.IllegalArgumentException: No database connection
2015-09-18 14:29:24,438 ERROR [jeeves.engine] - Message : No database connection
2015-09-18 14:29:24,439 ERROR [jeeves.engine] - Stack : java.lang.IllegalArgumentException: No database connection
at org.fao.geonet.Geonetwork.initDatabase(Geonetwork.java:757)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:198)
at jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:600)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:206)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
2015-09-18 14:29:24,439 ERROR [jeeves.engine] - {Stack=java.lang.IllegalArgumentException: No database connection
at org.fao.geonet.Geonetwork.initDatabase(Geonetwork.java:757)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:198)
at jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:600)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:206)
at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
, Exception=java.lang.IllegalArgumentException: No database connection, Message=No database connection, Handler=org.fao.geonet.Geonetwork, Error=Raised exception while starting appl handler. Skipped.}
18 sept. 2015 14:29:24 org.apache.catalina.startup.HostConfig deployWAR
INFO: Déploiement de l'archive /var/lib/tomcat7/webapps/print-servlet-2.0.0.war de l'application web
18 sept. 2015 14:29:26 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Déploiement du répertoire /var/lib/tomcat7/webapps/target de l'application web
18 sept. 2015 14:29:26 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Déploiement du répertoire /var/lib/tomcat7/webapps/ROOT de l'application web
18 sept. 2015 14:29:27 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
18 sept. 2015 14:29:27 org.apache.catalina.startup.Catalina start
INFO: Server startup in 23633 ms
/var/log/tomcat7/catalina.2015-09-18.log
18 sept. 2015 14:29:03 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
18 sept. 2015 14:29:03 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 996 ms
18 sept. 2015 14:29:03 org.apache.catalina.core.StandardService startInternal
INFO: Démarrage du service Catalina
18 sept. 2015 14:29:03 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
18 sept. 2015 14:29:03 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration /etc/tomcat7/Catalina/localhost/manager.xml
18 sept. 2015 14:29:04 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Déploiement du descripteur de configuration /etc/tomcat7/Catalina/localhost/host-manager.xml
18 sept. 2015 14:29:04 org.apache.catalina.startup.HostConfig deployWAR
INFO: Déploiement de l'archive /var/lib/tomcat7/webapps/geosource.war de l'application web
18 sept. 2015 14:29:04 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat7/webapps/geosource/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
18 sept. 2015 14:29:24 org.apache.catalina.startup.HostConfig deployWAR
INFO: Déploiement de l'archive /var/lib/tomcat7/webapps/print-servlet-2.0.0.war de l'application web
18 sept. 2015 14:29:26 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Déploiement du répertoire /var/lib/tomcat7/webapps/target de l'application web
18 sept. 2015 14:29:26 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Déploiement du répertoire /var/lib/tomcat7/webapps/ROOT de l'application web
18 sept. 2015 14:29:27 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
18 sept. 2015 14:29:27 org.apache.catalina.startup.Catalina start
INFO: Server startup in 23633 ms
2) Ce qui m'étonne, c'est que j'ai juste la partie où doit être la carte qui est blanche.
Sinon, j'ai bien le titre, le commentaire, le numero de page et le copyright.
Et la page met du temps à générer le fichier PDF, alors qu'avec l'exemple sans ma couche de données, c'est rapide. Comme s'il y avait quelque chose qui ne trouvait pas et me renvoi au final une carte blanche.
Je joins le fichier PDF généré.
Tony
Hors ligne
#4 Fri 18 September 2015 15:00
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
Oups..... Voici le fichier en pièce jointe.
Tony
Hors ligne
#5 Sun 20 September 2015 17:39
Re: Impression PDF via print-servlet-2.0.0
Tony,
Le PDF indique ceci dans un commentaire : java.io.IOException: Connection timed out
Les logs indiquent :
Code:
org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.FileNotFoundException: /usr/share/tomcat7/test.lock.db (Permission denied)"; "/usr/share/tomcat7/test.lock.db" [90031-152]
Peux tu vérifier le droits dans ce répertoire ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Sun 20 September 2015 17:43
Re: Impression PDF via print-servlet-2.0.0
Bonjour,
"On" m'a dit que les messages d'erreurs plus haut était plutôt lié à GeoNetwork ou GeoSource et confirmé un problème de droit dans /usr/share/tomcat7/
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Sun 20 September 2015 17:47
Re: Impression PDF via print-servlet-2.0.0
Tony,
En relisant, j'ai l'impression que MF print n'arrive pas à atteindre le serveur MapServer distant et il y a un timeout.
Il faudrait que tu vérifies tes paramètres de logs dans print-servlet/WEB-INF/classes/ (log4j.properties ou log4j.xml)
et mettre en debug sur org.mapfish
Y.
PS : snapshot = issue du code en dev (master/trunk), 2.0.0 = release officiel d'une version dite "stable".
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#8 Sun 20 September 2015 23:16
- Cornet Jérémie
- Participant assidu
- Lieu: Nouméa
- Date d'inscription: 6 Apr 2008
- Messages: 229
Re: Impression PDF via print-servlet-2.0.0
Bonjour,
Il y a aussi la piste proxy à creuser.
Peut être que ton serveur n'a pas le droit de faire des connexions sortantes (ce qui expliquerait le timeout).
Hors ligne
#9 Mon 21 September 2015 12:23
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
Bonjour,
Merci pour ces pistes.
Je viens de regarder dans le fichier print-servlet/WEB-INF/classes/log4j.properties et il fait bien référence à un fichier de log. (Je n'avais pas connaissance de ce fichier).
Le paramètre est déjà sur debug.
Code:
log4j.logger.org.mapfish=DEBUG
Voici, le fichier de log :
Code:
2015-09-21 12:05:34,448 [http-bio-8080-exec-3] INFO ish.print.output.OutputFactory - OutputFormat chosen for pdf is PdfOutputFactory 2015-09-21 12:05:34,449 [http-bio-8080-exec-3] INFO .print.output.PdfOutputFactory - Starting 'PDF Creation' at 2015-09-21 12:05:34 2015-09-21 12:05:34,450 [http-bio-8080-exec-3] DEBUG h.print.config.InetHostMatcher - Address not in the authorizeds: pre-sig.cr-poitou-charentes.fr/86.65.169.233 2015-09-21 12:05:34,538 [http-bio-8080-exec-3] DEBUG h.print.config.InetHostMatcher - Address not in the authorizeds: pre-sig.cr-poitou-charentes.fr/86.65.169.233 2015-09-21 12:05:34,538 [http-bio-8080-exec-3] DEBUG rg.mapfish.print.config.Config - URI [https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?] accepted by: DnsHostMatcher{host='pre-sig.cr-poitou-charentes.fr', port=443} 2015-09-21 12:05:34,539 [tilesReader0] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:05:34,544 [tilesReader1] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:05:34,545 [tilesReader2] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:05:34,546 [tilesReader4] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:05:34,546 [tilesReader3] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:05:34,547 [tilesReader1] DEBUG org.mapfish.print.PDFUtils - loading image: https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-324515.2342307156%2C5469085.133752401%2C296373.6669620856%2C6150651.781963198&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A3857 2015-09-21 12:06:23,545 [tilesReader0] ERROR org.mapfish.print.PDFUtils - Server returned an error for https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-2.917506375832461%2C43.120026553846714%2C2.6647063758324614%2C49.247773446153296&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A4326: Connection timed out 2015-09-21 12:06:23,545 [tilesReader0] ERROR .mapfish.print.PDFCustomBlocks - Error while adding a PDF element java.io.IOException: Connection timed out at org.mapfish.print.PDFUtils.handleImageLoadError(PDFUtils.java:339) at org.mapfish.print.PDFUtils.loadImageFromUrl(PDFUtils.java:323) at org.mapfish.print.PDFUtils.getImageDirect(PDFUtils.java:175) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:95) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:79) at org.mapfish.print.map.renderers.BitmapTileRenderer$1.readTile(BitmapTileRenderer.java:73) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:41) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:33) at org.pvalsecc.concurrent.OrderedResultsExecutor$Runner.run(OrderedResultsExecutor.java:180) at java.lang.Thread.run(Thread.java:701) 2015-09-21 12:06:23,550 [http-bio-8080-exec-6] DEBUG .mapfish.print.PDFCustomBlocks - Added an annotation for errors 2015-09-21 12:06:23,553 [http-bio-8080-exec-6] INFO .print.output.PdfOutputFactory - Finished 'PDF Creation' after 252805 ms 2015-09-21 12:06:23,553 [http-bio-8080-exec-6] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:06:23,562 [http-bio-8080-exec-6] DEBUG h.print.servlet.BaseMapServlet - Deleting PDF file: mapfish-print3041276324478334768.pdf.printout 2015-09-21 12:06:37,689 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:06:37,689 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:07:40,857 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:07:40,857 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:08:44,025 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:08:44,025 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:09:07,753 [http-bio-8080-exec-4] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:09:11,923 [http-bio-8080-exec-8] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:09:47,193 [tilesReader1] ERROR org.mapfish.print.PDFUtils - Server returned an error for https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-324515.2342307156%2C5469085.133752401%2C296373.6669620856%2C6150651.781963198&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A3857: Connection timed out 2015-09-21 12:09:47,194 [tilesReader1] ERROR .mapfish.print.PDFCustomBlocks - Error while adding a PDF element java.io.IOException: Connection timed out at org.mapfish.print.PDFUtils.handleImageLoadError(PDFUtils.java:339) at org.mapfish.print.PDFUtils.loadImageFromUrl(PDFUtils.java:323) at org.mapfish.print.PDFUtils.getImageDirect(PDFUtils.java:175) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:95) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:79) at org.mapfish.print.map.renderers.BitmapTileRenderer$1.readTile(BitmapTileRenderer.java:73) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:41) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:33) at org.pvalsecc.concurrent.OrderedResultsExecutor$Runner.run(OrderedResultsExecutor.java:180) at java.lang.Thread.run(Thread.java:701) 2015-09-21 12:09:47,198 [http-bio-8080-exec-3] DEBUG .mapfish.print.PDFCustomBlocks - Added an annotation for errors 2015-09-21 12:09:47,203 [http-bio-8080-exec-3] INFO .print.output.PdfOutputFactory - Finished 'PDF Creation' after 252754 ms 2015-09-21 12:09:47,203 [http-bio-8080-exec-3] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:09:47,211 [http-bio-8080-exec-3] DEBUG h.print.servlet.BaseMapServlet - Deleting PDF file: mapfish-print7961129460017988011.pdf.printout 2015-09-21 12:10:11,392 [http-bio-8080-exec-6] DEBUG h.print.servlet.BaseMapServlet - Generating PDF for spec={"units":"degrees","srs":"EPSG:4326","layout":"A4 portrait","dpi":56,"mapTitle":"GeoExt Printing Demo","comment":"This demo shows how to use GeoExt.PrintMapPanel","layers":[{"baseURL":"https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?","opacity":1,"singleTile":true,"type":"WMS","layers":["region_fr"],"format":"image/png","styles":[""]},{"type":"Vector","styles":{"1":{"graphicName":"square","strokeColor":"#000000","strokeWidth":2,"strokeOpacity":1,"fillColor":"#ee0000","fillOpacity":1,"pointRadius":6}},"styleProperty":"_gx_style","geoJson":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"_gx_style":1},"geometry":{"type":"Point","coordinates":[-0.1264,46.1839]}}]},"name":"A Vector Layer","opacity":1}],"pages":[{"center":[-0.1264,46.1839],"scale":4000000,"rotation":0}]} 2015-09-21 12:10:11,393 [http-bio-8080-exec-6] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:10:11,401 [http-bio-8080-exec-6] WARN ish.print.output.OutputFactory - OutputFormatFactory org.mapfish.print.output.FileCachingJaiMosaicOutputFactory is disabled: TIFF not supported by ImageIO 2015-09-21 12:10:11,401 [http-bio-8080-exec-6] INFO ish.print.output.OutputFactory - OutputFormat chosen for pdf is PdfOutputFactory 2015-09-21 12:10:11,401 [http-bio-8080-exec-6] DEBUG h.print.servlet.BaseMapServlet - Using '/var/lib/tomcat7/work/Catalina/localhost/print-servlet-2.0.0' as temporary directory 2015-09-21 12:10:11,402 [http-bio-8080-exec-6] WARN ish.print.output.OutputFactory - OutputFormatFactory org.mapfish.print.output.FileCachingJaiMosaicOutputFactory is disabled: TIFF not supported by ImageIO 2015-09-21 12:10:11,403 [http-bio-8080-exec-6] INFO ish.print.output.OutputFactory - OutputFormat chosen for pdf is PdfOutputFactory 2015-09-21 12:10:11,403 [http-bio-8080-exec-6] INFO .print.output.PdfOutputFactory - Starting 'PDF Creation' at 2015-09-21 12:10:11 2015-09-21 12:10:11,477 [http-bio-8080-exec-6] DEBUG h.print.config.InetHostMatcher - Address not in the authorizeds: pre-sig.cr-poitou-charentes.fr/86.65.169.233 2015-09-21 12:10:11,510 [http-bio-8080-exec-6] DEBUG h.print.config.InetHostMatcher - Address not in the authorizeds: pre-sig.cr-poitou-charentes.fr/86.65.169.233 2015-09-21 12:10:11,511 [http-bio-8080-exec-6] DEBUG rg.mapfish.print.config.Config - URI [https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?] accepted by: DnsHostMatcher{host='pre-sig.cr-poitou-charentes.fr', port=443} 2015-09-21 12:10:11,512 [tilesReader0] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:10:11,517 [tilesReader1] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:10:11,517 [tilesReader3] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:10:11,518 [tilesReader2] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:10:11,520 [tilesReader1] DEBUG org.mapfish.print.PDFUtils - loading image: https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-2.917506375832461%2C43.120026553846714%2C2.6647063758324614%2C49.247773446153296&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A4326 2015-09-21 12:10:11,520 [tilesReader4] DEBUG current.OrderedResultsExecutor - Runner [tilesReader] started 2015-09-21 12:11:14,617 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:11:14,617 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:12:17,785 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:12:17,785 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:13:20,953 [tilesReader1] INFO .httpclient.HttpMethodDirector - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out 2015-09-21 12:13:20,953 [tilesReader1] INFO .httpclient.HttpMethodDirector - Retrying request 2015-09-21 12:14:24,121 [tilesReader1] ERROR org.mapfish.print.PDFUtils - Server returned an error for https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-2.917506375832461%2C43.120026553846714%2C2.6647063758324614%2C49.247773446153296&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A4326: Connection timed out 2015-09-21 12:14:24,122 [tilesReader1] ERROR .mapfish.print.PDFCustomBlocks - Error while adding a PDF element java.io.IOException: Connection timed out at org.mapfish.print.PDFUtils.handleImageLoadError(PDFUtils.java:339) at org.mapfish.print.PDFUtils.loadImageFromUrl(PDFUtils.java:323) at org.mapfish.print.PDFUtils.getImageDirect(PDFUtils.java:175) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:95) at org.mapfish.print.PDFUtils.getImage(PDFUtils.java:79) at org.mapfish.print.map.renderers.BitmapTileRenderer$1.readTile(BitmapTileRenderer.java:73) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:41) at org.mapfish.print.map.MapTileTask.process(MapTileTask.java:33) at org.pvalsecc.concurrent.OrderedResultsExecutor$Runner.run(OrderedResultsExecutor.java:180) at java.lang.Thread.run(Thread.java:701) 2015-09-21 12:14:24,126 [http-bio-8080-exec-6] DEBUG .mapfish.print.PDFCustomBlocks - Added an annotation for errors 2015-09-21 12:14:24,128 [http-bio-8080-exec-6] INFO .print.output.PdfOutputFactory - Finished 'PDF Creation' after 252725 ms 2015-09-21 12:14:24,128 [http-bio-8080-exec-6] INFO h.print.servlet.BaseMapServlet - Loading configuration file: /var/lib/tomcat7/webapps/print-servlet-2.0.0/config.yaml 2015-09-21 12:14:24,137 [http-bio-8080-exec-6] DEBUG h.print.servlet.BaseMapServlet - Deleting PDF file: mapfish-print5571857628760492976.pdf.printout
En effet, il y a bien un problème de Time Out.
Code:
2015-09-21 12:14:24,121 [tilesReader1] ERROR org.mapfish.print.PDFUtils - Server returned an error for https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-2.917506375832461%2C43.120026553846714%2C2.6647063758324614%2C49.247773446153296&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A4326: Connection timed out
Maintenant, comment cela peut se résoudre ???
Rajouter un paramètre dans le fichier config.yaml.
J'ai aussi vu qu'il y avait cela :
Code:
2015-09-21 12:10:11,402 [http-bio-8080-exec-6] WARN ish.print.output.OutputFactory - OutputFormatFactory org.mapfish.print.output.FileCachingJaiMosaicOutputFactory is disabled: TIFF not supported by ImageIO
mais, je n'ai pas l'impression que c'est cela qui pose problème.
J'ai testé l'URL qui est envoyé dans un navigateur et il me renvoi bien l'image qui correspond à l'impression demandé.
Code:
https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?BBOX=-2.917506375832461%2C43.120026553846714%2C2.6647063758324614%2C49.247773446153296&HEIGHT=376&WIDTH=342&map_resolution=56&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&format_options=dpi%3A56&LAYERS=region_fr&REQUEST=GetMap&STYLES=&DPI=56&SRS=EPSG%3A4326
Merci encore pour votre aide.
Tony
Hors ligne
#10 Mon 21 September 2015 13:22
Re: Impression PDF via print-servlet-2.0.0
Tony,
Test sur ton serveur avec curl par exemple car tu peux y accéder de ton navigateur mais pas à partir du serveur.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#11 Mon 21 September 2015 16:02
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
Je viens de regarder avec firebug le trafic réseau et je viens de voir ça :
Code:
http://[MON DOMAINE]:8080/print-servlet-2.0.0/pdf/print.pdf?spec={%22units%22:%22degrees%22,%22srs%22:%22EPSG:4326%22,%22layout%22:%22A4%20portrait%22,%22dpi%22:56,%22mapTitle%22:%22GeoExt%20Printing%20Demo%22,%22comment%22:%22This%20demo%20shows%20how%20to%20use%20GeoExt.PrintMapPanel%22,%22layers%22:[{%22baseURL%22:%22https://pre-sig.cr-poitou-charentes.fr/cgi-bin/wms_r500?%22,%22opacity%22:1,%22singleTile%22:true,%22type%22:%22WMS%22,%22layers%22:[%22region_fr%22],%22format%22:%22image/png%22,%22styles%22:[%22%22]},{%22type%22:%22Vector%22,%22styles%22:{%221%22:{%22graphicName%22:%22square%22,%22strokeColor%22:%22#000000%22,%22strokeWidth%22:2,%22strokeOpacity%22:1,%22fillColor%22:%22#ee0000%22,%22fillOpacity%22:1,%22pointRadius%22:6}},%22styleProperty%22:%22_gx_style%22,%22geoJson%22:{%22type%22:%22FeatureCollection%22,%22features%22:[{%22type%22:%22Feature%22,%22properties%22:{%22_gx_style%22:1},%22geometry%22:{%22type%22:%22Point%22,%22coordinates%22:[-0.1264,46.1839]}}]},%22name%22:%22A%20Vector%20Layer%22,%22opacity%22:1}],%22pages%22:[{%22center%22:[-0.1264,46.1839],%22scale%22:4000000,%22rotation%22:0}]}
En testant cette url dans mon navigateur, j'ai le retour suivant :
Code:
Error while generating PDF: java.lang.RuntimeException: Cannot parse the spec file at org.mapfish.print.MapPrinter.parseSpec(MapPrinter.java:193) at org.mapfish.print.servlet.MapPrinterServlet.doCreatePDFFile(MapPrinterServlet.java:309) at org.mapfish.print.servlet.MapPrinterServlet.createAndGetPDF(MapPrinterServlet.java:159) at org.mapfish.print.servlet.MapPrinterServlet.doGet(MapPrinterServlet.java:90) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:701) Caused by: org.json.JSONException: Unterminated string at character 415 at org.json.JSONTokener.syntaxError(JSONTokener.java:496) at org.json.JSONTokener.nextString(JSONTokener.java:274) at org.json.JSONTokener.nextValue(JSONTokener.java:371) at org.json.JSONObject.<init>(JSONObject.java:206) at org.json.JSONTokener.nextValue(JSONTokener.java:374) at org.json.JSONObject.<init>(JSONObject.java:206) at org.json.JSONTokener.nextValue(JSONTokener.java:374) at org.json.JSONObject.<init>(JSONObject.java:206) at org.json.JSONTokener.nextValue(JSONTokener.java:374) at org.json.JSONArray.<init>(JSONArray.java:127) at org.json.JSONTokener.nextValue(JSONTokener.java:378) at org.json.JSONObject.<init>(JSONObject.java:206) at org.json.JSONObject.<init>(JSONObject.java:403) at org.mapfish.print.MapPrinter.parseSpec(MapPrinter.java:191) ... 21 more
Est-ce que mon problème ne viendrait pas de là ????
Tony
Hors ligne
#12 Mon 21 September 2015 16:12
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
Voilà le retour que j'ai avec cURL. Cela me semble correcte.
Code:
[1] 23090 [2] 23091 [3] 23092 [4] 23093 [5] 23094 [6] 23095 [7] 23096 [8] 23097 [9] 23098 [10] 23099 [11] 23100 [12] 23101 [2] Fini HEIGHT=376 [3] Fini WIDTH=342 [4] Fini map_resolution=56 [5] Fini VERSION=1.1.1 [6] Fini FORMAT=image%2Fpng [7] Fini SERVICE=WMS [8] Fini format_options=dpi%3A56 [9] Fini LAYERS=region_fr
Tony
Hors ligne
#13 Mon 21 September 2015 16:40
Re: Impression PDF via print-servlet-2.0.0
Bonjour,
S'il y a un problème c'est qu'il faut le corriger, je ne sais pas s'il y en a d'autres mais il faut trouver pourquoi. Tu peux déjà vérifier que ton fichier yaml est correct (il existe des validateurs en ligne).
Tu peux alléger ton fichier de configuration au maximum (attention ton fichier de spec n'est pas ton fichier de configuration).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#14 Mon 21 September 2015 17:43
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Impression PDF via print-servlet-2.0.0
S'il y a un problème c'est qu'il faut le corriger,...
Je suis entièrement d'accord.
Ok, je vais vérifier mon fichier config.yaml.
Je viens de faire un test pour voir si cela pouvait venir du proxy comme l'indiquait Jérémie. En ajoutant une couche WMS d'une plateforme extérieure et cela fonctionne très bien.
Je continu mes recherches.
Tony
Hors ligne