<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div>Hola.</div><div><br></div><div>Estoy desarrollando un plugin en gvSIG cuyo cometido sera la carga de varias capas automaticamente nada mas iniciar gvSIG. Como hara uso de servicios WMS me he fijado en la exportacion e importacion de capas mediante archivos CML.</div>

<div><br></div><div>Puedo exportar una capa WMS sin problemas y guardarla como CML. Pego a continuacion un ejemplo.</div><div><br></div><div>---------------------------------------------------------------------------</div>

<div><font face="courier new,monospace">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;<br>&lt;!-- Creado con gvSIG 2.1.0-2225 --&gt;<br>&lt;ViewContext id=&quot;nasawmc&quot; xmlns:xsi=&quot;</font><a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank"><font face="courier new,monospace">http://www.w3.org/</font><font face="courier new,monospace">2001/XMLSchema-instance</font></a><font face="courier new,monospace">&quot; xmlns:xlink=&quot;</font><a href="http://www.w3.org/1999/xlink" target="_blank"><font face="courier new,monospace">http://www.w3.</font><font face="courier new,monospace">org/1999/xlink</font></a><font face="courier new,monospace">&quot; xmlns=&quot;</font><a href="http://www.opengis.net/context" target="_blank"><font face="courier new,monospace">http://www.opengis.net/</font><font face="courier new,monospace">context</font></a><font face="courier new,monospace">&quot; xsi:schemaLocation=&quot;</font><a href="http://www.opengeospatial.net/context" target="_blank"><font face="courier new,monospace">http://</font><font face="courier new,monospace">www.opengeospatial.net/context</font></a><font face="courier new,monospace"> context.xsd&quot; version=&quot;1.1.0&quot; &gt;<br>

  &lt;General&gt;<br>    &lt;BoundingBox maxx=&quot;180.0&quot; maxy=&quot;90.0&quot; minx=&quot;-180.0&quot; miny=&quot;-90.0&quot; SRS=&quot;EPSG:4326&quot; /&gt;<br>    &lt;Title&gt;nasa wmc&lt;/Title&gt;<br>    &lt;KeywordList&gt;<br>

      &lt;Keyword&gt;&lt;/Keyword&gt;<br>    &lt;/KeywordList&gt;<br>  &lt;/General&gt;<br>  &lt;LayerList&gt;<br>&lt;Layer hidden=&quot;false&quot; queryable=&quot;false&quot; &gt;<br>  &lt;Server title=&quot;NASA Earth Observations (NEO) WMS&quot; service=&quot;WMS&quot; version=&quot;1.3.0&quot; &gt;<br>

    &lt;OnlineResource xlink:type=&quot;simple&quot; xlink:href=&quot;</font><a href="http://neowms.sci.gsfc.nasa.gov/wms/wms" target="_blank"><font face="courier new,monospace">http://neowms.sci.</font><font face="courier new,monospace">gsfc.nasa.gov/wms/wms</font></a><font face="courier new,monospace">&quot; /&gt;<br>
  &lt;/Server&gt;<br>  &lt;Name&gt;MOD_143D_RR&lt;/Name&gt;<br>
  &lt;Title&gt;True Color (1 day - Terra/MODIS Rapid Response)&lt;/Title&gt;<br>  &lt;SRS&gt;CRS:84&lt;/SRS&gt;<br>  &lt;FormatList&gt;<br>    &lt;Format&gt;image/png&lt;/Format&gt;<br>    &lt;Format current=&quot;1&quot; &gt;image/jpeg&lt;/Format&gt;<br>

  &lt;/FormatList&gt;<br>  &lt;StyleList&gt;<br>    &lt;Style current=&quot;1&quot; &gt;<br>      &lt;Name&gt;default&lt;/Name&gt;<br>      &lt;Title&gt;default&lt;/Title&gt;<br>    &lt;/Style&gt;<br>  &lt;/StyleList&gt;<br>

  &lt;DimensionList&gt;<br>  &lt;/DimensionList&gt;<br>&lt;/Layer&gt;<br>  &lt;/LayerList&gt;<br>&lt;/ViewContext&gt;</font></div><div><br></div><div>------------------------------------------------</div><div>El problema viene a la hora de cargar este archivo. Usando gvSIG desktop, version 2.1.0.2227 testing, yendo por la opcion del menu Archivo - Abrir WMC, salta una excepcion NullPointerException. Pego a continuación la traza completa</div>

<div><br></div><div><font face="courier new,monospace">
java.lang.NullPointerException<br>java.lang.</font><font face="courier new,monospace">NullPointerException: null<br>    org.gvsig.raster.fmap.layers.</font><font face="courier new,monospace">DefaultFLyrRaster.</font><font face="courier new,monospace">getProjection(</font><font face="courier new,monospace">DefaultFLyrRaster.java:1665)<br>
    org.gvsig.fmap.mapcontext.</font><font face="courier new,monospace">layers.FLayers.doAddLayer(</font><font face="courier new,monospace">FLayers.java:182)<br>
    org.gvsig.fmap.mapcontext.</font><font face="courier new,monospace">layers.FLayers.addLayer(</font><font face="courier new,monospace">FLayers.java:238)<br>    org.gvsig.fmap.mapcontext.</font><font face="courier new,monospace">layers.FLayers.addLayer(</font><font face="courier new,monospace">FLayers.java:210)<br>
    org.gvsig.raster.wms.app.</font><font face="courier new,monospace">wmsclient.wmc.</font><font face="courier new,monospace">ImportWebMapContextExtension.</font><font face="courier new,monospace">readMapContextFile(</font><font face="courier new,monospace">ImportWebMapContextExtension.</font><font face="courier new,monospace">java:215)<br>

    org.gvsig.raster.wms.app.</font><font face="courier new,monospace">wmsclient.wmc.</font><font face="courier new,monospace">ImportWebMapContextExtension.</font><font face="courier new,monospace">execute(</font><font face="courier new,monospace">ImportWebMapContextExtension.</font><font face="courier new,monospace">java:112)<br>
    org.gvsig.andami.actioninfo.</font><font face="courier new,monospace">impl.DefaultActionInfo.</font><font face="courier new,monospace">execute(DefaultActionInfo.</font><font face="courier new,monospace">java:252)<br>    org.gvsig.andami.actioninfo.</font><font face="courier new,monospace">impl.DefaultActionInfo.</font><font face="courier new,monospace">actionPerformed(</font><font face="courier new,monospace">DefaultActionInfo.java:289)<br>

    javax.swing.AbstractButton.</font><font face="courier new,monospace">fireActionPerformed(Unknown Source)<br>    javax.swing.AbstractButton$</font><font face="courier new,monospace">Handler.actionPerformed(</font><font face="courier new,monospace">Unknown Source)<br>
    javax.swing.</font><font face="courier new,monospace">DefaultButtonModel.</font><font face="courier new,monospace">fireActionPerformed(Unknown Source)<br>    javax.swing.</font><font face="courier new,monospace">DefaultButtonModel.setPressed(</font><font face="courier new,monospace">Unknown Source)<br>

    javax.swing.AbstractButton.</font><font face="courier new,monospace">doClick(Unknown Source)<br>    javax.swing.plaf.basic.</font><font face="courier new,monospace">BasicMenuItemUI.doClick(</font><font face="courier new,monospace">Unknown Source)<br>
    javax.swing.plaf.basic.</font><font face="courier new,monospace">BasicMenuItemUI$Handler.</font><font face="courier new,monospace">mouseReleased(Unknown Source)<br>    java.awt.AWTEventMulticaster.</font><font face="courier new,monospace">mouseReleased(Unknown Source)<br>

    java.awt.AWTEventMulticaster.</font><font face="courier new,monospace">mouseReleased(Unknown Source)<br>    java.awt.Component.</font><font face="courier new,monospace">processMouseEvent(Unknown Source)<br>    javax.swing.JComponent.</font><font face="courier new,monospace">processMouseEvent(Unknown Source)<br>
    java.awt.Component.</font><font face="courier new,monospace">processEvent(Unknown Source)<br>
    java.awt.Container.</font><font face="courier new,monospace">processEvent(Unknown Source)<br>    java.awt.Component.</font><font face="courier new,monospace">dispatchEventImpl(Unknown Source)<br>    java.awt.Container.</font><font face="courier new,monospace">dispatchEventImpl(Unknown Source)<br>
    java.awt.Component.</font><font face="courier new,monospace">dispatchEvent(Unknown Source)<br>
    java.awt.</font><font face="courier new,monospace">LightweightDispatcher.</font><font face="courier new,monospace">retargetMouseEvent(Unknown Source)<br>    java.awt.</font><font face="courier new,monospace">LightweightDispatcher.</font><font face="courier new,monospace">processMouseEvent(Unknown Source)<br>
    java.awt.</font><font face="courier new,monospace">LightweightDispatcher.</font><font face="courier new,monospace">dispatchEvent(Unknown Source)<br>    java.awt.Container.</font><font face="courier new,monospace">dispatchEventImpl(Unknown Source)<br>

    java.awt.Component.</font><font face="courier new,monospace">dispatchEvent(Unknown Source)<br>    java.awt.EventQueue.</font><font face="courier new,monospace">dispatchEventImpl(Unknown Source)<br>    java.awt.EventQueue.access0(</font><font face="courier new,monospace">Unknown Source)<br>
    java.awt.EventQueue$1.run(</font><font face="courier new,monospace">Unknown Source)<br>
    java.awt.EventQueue$1.run(</font><font face="courier new,monospace">Unknown Source)<br>    java.security.</font><font face="courier new,monospace">AccessController.doPrivileged(</font><font face="courier new,monospace">Native Method)<br>
    java.security.</font><font face="courier new,monospace">AccessControlContext$1.</font><font face="courier new,monospace">doIntersectionPrivilege(</font><font face="courier new,monospace">Unknown Source)<br>    java.security.</font><font face="courier new,monospace">AccessControlContext$1.</font><font face="courier new,monospace">doIntersectionPrivilege(</font><font face="courier new,monospace">Unknown Source)<br>

    java.awt.EventQueue$2.run(</font><font face="courier new,monospace">Unknown Source)<br>    java.awt.EventQueue$2.run(</font><font face="courier new,monospace">Unknown Source)<br>    java.security.</font><font face="courier new,monospace">AccessController.doPrivileged(</font><font face="courier new,monospace">Native Method)<br>
    java.security.</font><font face="courier new,monospace">AccessControlContext$1.</font><font face="courier new,monospace">doIntersectionPrivilege(</font><font face="courier new,monospace">Unknown Source)<br>
    java.awt.EventQueue.</font><font face="courier new,monospace">dispatchEvent(Unknown Source)<br>    org.gvsig.andami.ui.</font><font face="courier new,monospace">AndamiEventQueue.</font><font face="courier new,monospace">dispatchEvent(</font><font face="courier new,monospace">AndamiEventQueue.java:50)<br>
    java.awt.EventDispatchThread.</font><font face="courier new,monospace">pumpOneEventForFilters(Unknown Source)<br>    java.awt.EventDispatchThread.</font><font face="courier new,monospace">pumpEventsForFilter(Unknown Source)<br>

    java.awt.EventDispatchThread.</font><font face="courier new,monospace">pumpEventsForHierarchy(Unknown Source)<br>    java.awt.EventDispatchThread.</font><font face="courier new,monospace">pumpEvents(Unknown Source)<br>
    java.awt.EventDispatchThread.</font><font face="courier new,monospace">pumpEvents(Unknown Source)<br>    java.awt.EventDispatchThread.</font><font face="courier new,monospace">run(Unknown Source)</font></div>
<div><br></div><div>  -----------------------------------------------------------------</div><div>


Este problema ocurre en las versiones 2.1.0-2225 y 2.1.0-2227, la mas reciente. ¿Tiene alguna solucion? ¿Debo desistir de utilizar archivos CML?</div><div><br></div><div>Gracias.<br></div>
</div>
</div><br><div dir="ltr"><br><br></div>
</div>