Buenos días a todos,<br><br>   Estoy implementando una serie de conexiones WMS y me encuentro con la siguiente peculiaridad. Hago las mismas conexiones para diferentes capas y unas funcionan y otras no. Esas conexiones si funcionan si las cargo desde gvsig a mano y sin embargo haciendolas en código no. Pongo un ejemplo:<br>
<br><br>  Cargo en código una conexión a Catastro:<br><br>View v;<br>             MapControl mapCtrl;<br>            <br>                             <br>                        try {<br>                             Map&lt;String, Object&gt; args= new HashMap&lt;String,Object&gt;();<br>
                                args.put(&quot;host&quot;,&quot;<a href="http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx">http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx</a>&quot;);<br>                                args.put(&quot;layer&quot;, &quot;Catastro&quot;);<br>
                                args.put(&quot;SRS&quot;, &quot;EPSG:23030&quot;);<br>                                args.put(&quot;wmsTransparency&quot;, true);<br>                            FLyrWMS capaWMS;<br>                            v = (View) PluginServices.getMDIManager().getActiveWindow();<br>
                            mapCtrl = v.getMapControl();<br>                            <br>                            FLayers  lyrs = mapCtrl.getMapContext().getLayers();<br>                            lyrs.setAllActives(false);<br>
                            <br>                            <br>                                capaWMS = new FLyrWMS(args);<br>    <br>                            capaWMS.setTransparency(95);<br>                            capaWMS.setActive(true);<br>
                            mapCtrl.getMapContext().getLayers().addLayer(capaWMS);<br>                        } catch (LoadLayerException e) {<br>                            // TODO Auto-generated catch block<br>                            e.printStackTrace();<br>
                        }                      <br><br><br>Funciona Perfectamente.<br><br>Cargo en código una conexión a la ortofoto de la junta de andalucía del 2007.<br>View v;<br>             MapControl mapCtrl;<br>            <br>
                             <br>                        Map&lt;String, Object&gt; args= new HashMap&lt;String,Object&gt;();<br>                         args.put(&quot;host&quot;,&quot;<a href="http://www.ideandalucia.es/wms/ortofoto2007?REQUEST=GetCapabilities&amp;SERVICE=WMS&amp;VERSION=1.1.1">http://www.ideandalucia.es/wms/ortofoto2007?REQUEST=GetCapabilities&amp;SERVICE=WMS&amp;VERSION=1.1.1</a>&quot;);<br>
                         args.put(&quot;layer&quot;, &quot;oca10_2007&quot;);<br>                         args.put(&quot;SRS&quot;, &quot;EPSG:23030&quot;);<br>                        // args.put(&quot;format&quot;, &quot;image/jpeg&quot;);<br>
                         args.put(&quot;wmsTransparency&quot;, true);<br>                                <br>                        <br>                        <br>               <br>                        FLyrWMS capaWMS;<br>
                        v = (View) PluginServices.getMDIManager().getActiveWindow();<br>                        mapCtrl = v.getMapControl();<br>                        FLayers  lyrs = mapCtrl.getMapContext().getLayers();<br>
                        lyrs.setAllActives(false);<br>                        <br>                        try {<br>                            capaWMS = new FLyrWMS(args);<br>                        <br>                         <br>
                        capaWMS.setActive(true);<br>                        mapCtrl.getMapContext().getLayers().addLayer(capaWMS);<br>                        } catch (LoadLayerException e) {<br>                            // TODO Auto-generated catch block<br>
                            e.printStackTrace();<br>                        }                      <br><br>Funciona correctamente.<br>Cargo una conexión a la ortofoto de la junta de  1956:<br>View v;<br>             MapControl mapCtrl;<br>
            <br>                             <br>                        Map&lt;String, Object&gt; args= new HashMap&lt;String,Object&gt;();<br>                         args.put(&quot;host&quot;,&quot;<a href="http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Ortofoto_Andalucia_1956?REQUEST=GetMap&amp;SERVICE=WMS&amp;VERSION=1.1.1">http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_Ortofoto_Andalucia_1956?REQUEST=GetMap&amp;SERVICE=WMS&amp;VERSION=1.1.1</a>&quot;);<br>
                         args.put(&quot;layer&quot;, &quot;ortofoto_1956&quot;);<br>                         args.put(&quot;SRS&quot;, &quot;EPSG:23030&quot;);<br>                        // args.put(&quot;format&quot;, &quot;image/jpeg&quot;);<br>
                         args.put(&quot;wmsTransparency&quot;, true);<br>                         args.put(&quot;Name&quot;,&quot;Capa WMS&quot;);       <br>                        <br>                        <br>               <br>
                        FLyrWMS capaWMS;<br>                        v = (View) PluginServices.getMDIManager().getActiveWindow();<br>                        mapCtrl = v.getMapControl();<br>                        FLayers  lyrs = mapCtrl.getMapContext().getLayers();<br>
                        lyrs.setAllActives(false);<br>                        <br>                        try {<br>                            capaWMS = new FLyrWMS(args);<br>                        <br>                         <br>
                        capaWMS.setActive(true);                <br>                        mapCtrl.getMapContext().getLayers().addLayer(capaWMS);<br>                        } catch (LoadLayerException e) {<br>                            // TODO Auto-generated catch block<br>
                            e.printStackTrace();<br>                        }                      <br><br>Me la carga en el TOC, pero me salta el siguiente error:<br>java.lang.NullPointerException<br>    at com.iver.cit.gvsig.fmap.layers.FLyrWMS.drawTile(FLyrWMS.java:1130)<br>
    at com.iver.cit.gvsig.fmap.layers.FLyrWMS.draw(FLyrWMS.java:764)<br>    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)<br>    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)<br>
    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1097)<br>    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)<br>    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)<br>
    at java.lang.Thread.run(Thread.java:619)<br>Tiling.print(): tile 0 de 2<br>, Extent = java.awt.geom.Rectangle2D$Double[x=100479.00781200003,y=3950028.1935517555,w=501154.72676104406,h=376355.45398363564] tile: java.awt.Rectangle[x=0,y=0,width=1024,height=769]<br>
DEBUG [Thread-44] (NotificationManager.java:104) - <br>java.lang.NullPointerException<br>    at com.iver.cit.gvsig.fmap.layers.FLyrWMS.drawTile(FLyrWMS.java:1130)<br>    at com.iver.cit.gvsig.fmap.layers.FLyrWMS.draw(FLyrWMS.java:764)<br>
    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)<br>    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)<br>    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1097)<br>
    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)<br>    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)<br>    at java.lang.Thread.run(Thread.java:619)<br>
<br>Sin embargo esta capa si funciona si la cargo en gvisg desde la pestaña Añadir capa WMS. La ortofoto de la junta del 2009 tampoco funciona.<br>¿Por qué puede ser?<br>Además se va a la siguiente linea de código en la clase FLYWMS.<br>
             <b>   if ((vp.getAdjustedExtent().getMinX() &gt; extent.getMaxX()) ||<br>                                (vp.getAdjustedExtent().getMinY() &gt; extent.getMaxY()) ||<br>                                (vp.getAdjustedExtent().getMaxX() &lt; extent.getMinX()) ||<br>
                                (vp.getAdjustedExtent().getMaxY() &lt; extent.getMinY()))</b><br><br><br>perteneciente al procedimiento:<br><b>private boolean drawTile(Graphics2D g, ViewPort vp, Cancellable cancel, int tile, double scale, int nLyr) throws LoadLayerException, ReadDriverException </b><br>
<br>implementado en esta clase.<br><br><br>Espero vuestra ayuda.<br>Gracias por todo.<br><br>Un Saludo.<br><br>