Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/fmap/dal/store/wfs/WFSTest.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/fmap/dal/store/wfs/WFSTest.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/fmap/dal/store/wfs/WFSTest.java	(revision 416)
@@ -78,9 +78,9 @@
      */
     public DataStoreParameters getDefaultDataStoreParameters()
     throws DataException {
-        WFSStoreParameters parameters = null;
+        WFSOpenStoreParameters parameters = null;
 
-        parameters = (WFSStoreParameters) dataManager
+        parameters = (WFSOpenStoreParameters) dataManager
         .createStoreParameters(WFSStoreProvider.NAME);
 
         parameters.setUrl(url);
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/mobile/extension/wfs/dal/store/WFSMobileTest.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/mobile/extension/wfs/dal/store/WFSMobileTest.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/test/java/org/gvsig/mobile/extension/wfs/dal/store/WFSMobileTest.java	(revision 416)
@@ -50,7 +50,7 @@
 import org.gvsig.fmap.dal.impl.DefaultDataManager;
 import org.gvsig.fmap.dal.resource.impl.DefaultResourceManager;
 import org.gvsig.fmap.dal.store.wfs.WFSLibrary;
-import org.gvsig.fmap.dal.store.wfs.WFSStoreParameters;
+import org.gvsig.fmap.dal.store.wfs.WFSOpenStoreParameters;
 import org.gvsig.fmap.dal.store.wfs.WFSStoreProvider;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
@@ -157,9 +157,9 @@
 	 */
 	public DataStoreParameters getDefaultDataStoreParameters()
 			throws DataException {
-		WFSStoreParameters parameters = null;
+		WFSOpenStoreParameters parameters = null;
 
-		parameters = (WFSStoreParameters) dataManager
+		parameters = (WFSOpenStoreParameters) dataManager
 				.createStoreParameters(WFSStoreProvider.NAME);
 
 		parameters.setUrl(url);
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/panels/WFSParamsPanel.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/panels/WFSParamsPanel.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/panels/WFSParamsPanel.java	(revision 416)
@@ -17,7 +17,7 @@
 import org.gvsig.fmap.dal.exception.InitializeException;
 import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
 import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer;
-import org.gvsig.fmap.dal.store.wfs.WFSStoreParameters;
+import org.gvsig.fmap.dal.store.wfs.WFSOpenStoreParameters;
 import org.gvsig.fmap.dal.store.wfs.WFSStoreProvider;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
@@ -615,15 +615,15 @@
 		 return dataManager.createCacheParameters(nameCacheProvider);
 	 }
 
-	public WFSStoreParameters getDataStoreParameters() throws InitializeException, ProviderNotRegisteredException{
+	public WFSOpenStoreParameters getDataStoreParameters() throws InitializeException, ProviderNotRegisteredException{
 		DataManager dataManager = DALLocator.getDataManager();
-		WFSStoreParameters parameters = (WFSStoreParameters) dataManager
+		WFSOpenStoreParameters parameters = (WFSOpenStoreParameters) dataManager
 		.createStoreParameters(WFSStoreProvider.NAME);
 		refreshDataStoreParameters(parameters);
 		return parameters;
 	}
 
-	private void refreshDataStoreParameters(WFSStoreParameters parameters){
+	private void refreshDataStoreParameters(WFSOpenStoreParameters parameters){
 		WFSSelectedFeature selectedFeature = getSelectedFeature();
 		parameters.setUrl(serverExplorer.getUrl());
 		parameters.setFeatureType(selectedFeature.getNameSpace(),
@@ -652,7 +652,7 @@
 		if (ns != null) {
 	        String ns_pre = ns.getPrefix();
 	        parameters.setDynValue(
-	            WFSStoreParameters.DYNFIELDNAME_NAMESPACEPREFIX, ns_pre);
+	            WFSOpenStoreParameters.DYNFIELDNAME_NAMESPACEPREFIX, ns_pre);
 		}
 		// serverExplorer.getServerExplorerProviderServices();
 
@@ -669,8 +669,8 @@
      * Sets the forms from a
      */
     public void setDataStore(DataStore dataStore){
-        WFSStoreParameters storeParameters =
-            (WFSStoreParameters)dataStore.getParameters();
+        WFSOpenStoreParameters storeParameters =
+            (WFSOpenStoreParameters)dataStore.getParameters();
         WFSSelectedFeature selectedFeature =
             selectedFeatureManager.getFeatureInfo(storeParameters.getFeatureNamespace(),
                 storeParameters.getFeatureType());
@@ -848,9 +848,9 @@
 
 			DataManager dataManager = DALLocator.getDataManager();
 			//Create the datastore parameters and fill them
-			WFSStoreParameters parameters;
+			WFSOpenStoreParameters parameters;
 			try {
-				parameters = (WFSStoreParameters) dataManager
+				parameters = (WFSOpenStoreParameters) dataManager
 				.createStoreParameters(WFSStoreProvider.NAME);
 				parameters.setUrl(serverExplorer.getUrl());
 				parameters.setVersion(serverExplorer.getVersion());
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/wizards/WFSWizard.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/wizards/WFSWizard.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/wfs/gui/wizards/WFSWizard.java	(revision 416)
@@ -60,7 +60,7 @@
 import org.gvsig.fmap.dal.DataStoreParameters;
 import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer;
 import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorerParameters;
-import org.gvsig.fmap.dal.store.wfs.WFSStoreParameters;
+import org.gvsig.fmap.dal.store.wfs.WFSOpenStoreParameters;
 import org.gvsig.gui.beans.Messages;
 import org.gvsig.gui.beans.panelGroup.PanelGroupManager;
 import org.gvsig.gui.beans.swing.JButton;
@@ -191,8 +191,9 @@
      * Fills up the initial WCSWizard controls.
      */
     private void rellenarControles() throws Exception {
+        String url = "(unknow)";
         try {
-            String url = cmbHost.getModel().getSelectedItem().toString();
+            url = cmbHost.getModel().getSelectedItem().toString();
 
             DataManager dataManager = DALLocator.getDataManager();
             
@@ -241,8 +242,7 @@
                 cacheFeatCombo.addItem(featureCacheProvider);
             }
 
-            if (!explorer.getServerType().toLowerCase()
-                    .startsWith("wfs 1.0")) {
+            if (!explorer.getServerType().toLowerCase().startsWith("wfs 1.0")) {
                 cacheFeatCombo.setEnabled(true);
             } else {
                 cacheFeatCombo.setEnabled(false);
@@ -250,6 +250,7 @@
             wfsParamsPanel.setServerExplorer(explorer);
             connected = true;
         } catch (Exception e) {
+            logger.warn("Can't connect to '"+url+"'.",e);
             throw e;
         }
     }
@@ -754,7 +755,7 @@
     public void execute() {
         wfsParamsPanel.setSelectedCache(cacheFeatCombo.getSelectedItem().toString());
         String layerName = wfsParamsPanel.getFeaturesPanel().getLayerName();
-        WFSStoreParameters parameters;
+        WFSOpenStoreParameters parameters;
         try {
             //
             // TODO: La proyeccion deberia ir en los parametros ¿? !!!!!!!!!
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreParameters.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreParameters.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreParameters.java	(revision 416)
@@ -1,410 +0,0 @@
-/* gvSIG. Geographic Information System of the Valencian Government
-*
-* Copyright (C) 2007-2008 Infrastructures and Transports Department
-* of the Valencian Government (CIT)
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version 2
-* of the License, or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-* MA  02110-1301, USA.
-*
-*/
-
-/*
-* AUTHORS (In addition to CIT):
-* 2009 {Iver T.I.}   {Task}
-*/
-
-package org.gvsig.fmap.dal.store.wfs;
-
-import org.apache.commons.lang3.BooleanUtils;
-import org.cresques.cts.IProjection;
-import org.gvsig.fmap.dal.DataParameters;
-import org.gvsig.fmap.dal.DataStoreParameters;
-import org.gvsig.fmap.dal.DataTypes;
-import org.gvsig.fmap.dal.exception.InitializeException;
-import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
-import org.gvsig.fmap.dal.spi.AbstractDataParameters;
-import org.gvsig.fmap.geom.Geometry;
-import org.gvsig.fmap.geom.primitive.Envelope;
-import org.gvsig.tools.ToolsLocator;
-import org.gvsig.tools.dynobject.DelegatedDynObject;
-import org.gvsig.tools.dynobject.DynClass;
-import org.gvsig.tools.dynobject.DynStruct;
-import org.gvsig.tools.persistence.PersistenceManager;
-
-/**
- * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
- */
-public class WFSStoreParameters extends AbstractDataParameters implements
- DataStoreParameters{
-	protected static DynClass DYNCLASS = null;
-	public static final String DYNCLASS_NAME = "WFSStoreParameters";
-
-	public static final String DYNFIELDNAME_URL = "url";
-	public static final String DYNFIELDNAME_VERSION = "version";
-	public static final String DYNFIELDNAME_TYPENAME = "typeName";
-	public static final String DYNFIELDNAME_NAMESPACE = "namespace";
-	public static final String DYNFIELDNAME_NAMESPACEPREFIX = "namespacePrefix";
-	public static final String DYNFIELDNAME_FIELDS = "fields";
-	public static final String DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE = "filterEncodingByAttribute";
-	public static final String DYNFIELDNAME_MAXFEATURES = "maxFeatures";
-	public static final String DYNFIELDNAME_TIMEOUT = "timeOut";
-	public static final String DYNFIELDNAME_USER = "user";
-	public static final String DYNFIELDNAME_PASSWORD = "password";
-	public static final String DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY = "filterByAreaGeometry";
-	public static final String DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE = "filterByAreaEnvelope";
-	public static final String DYNFIELDNAME_FILTER_BY_AREA_OPERATION = "filterByAreaOperation";
-	public static final String DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE = "filterByAreaAttribute";
-	public static final String DYNFIELDNAME_FILTER_BY_AREA_CRS = "filterByAreaCrs";
-	public static final String DYNFIELDNAME_CRS = "Crs";
-
-	private DelegatedDynObject delegatedDynObject;
-
-	public WFSStoreParameters() {
-		super();
-		this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
-		.getDynObjectManager().createDynObject(
-			WFSStoreParameters.DYNCLASS);
-	}
-
-	@Override
-	protected DelegatedDynObject getDelegatedDynObject() {
-		return delegatedDynObject;
-	}
-
-	public WFSStoreParameters(DataParameters dataParameters) throws InitializeException, ProviderNotRegisteredException{
-		this();
-		setUrl((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_URL));
-		String namespace = null;
-		String namespacePrefix = null;
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_NAMESPACE)){
-			namespace = (String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_NAMESPACE);
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_NAMESPACEPREFIX)){
-			namespacePrefix = (String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_NAMESPACEPREFIX);
-		}
-		setFeatureType(namespacePrefix, namespace,
-				(String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_TYPENAME));
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_MAXFEATURES)){
-			setMaxFeatures((Integer)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_MAXFEATURES));
-		}else{
-			setMaxFeatures(1000);
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_TIMEOUT)){
-			setTimeOut((Integer)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_TIMEOUT));
-		}else{
-			setTimeOut(10000);
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY)){
-			setFilterByAreaGeometry((Geometry)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY));
-			setFilterByAreaAttribute((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE));
-			setFilterByAreaCrs((IProjection)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_CRS));
-			setFilterByAreaOperation((Integer)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_OPERATION));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE)){
-			setFilterByAreaEnvelope((Envelope)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE));
-			setFilterByAreaAttribute((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE));
-			setFilterByAreaCrs((IProjection)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_CRS));
-			setFilterByAreaOperation((Integer)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_BY_AREA_OPERATION));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_VERSION)){
-			setVersion((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_VERSION));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE)){
-			setFilterEncodingByAttribute((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_USER)){
-			setUser((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_USER));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_PASSWORD)){
-			setPassword((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_PASSWORD));
-		}
-		if (dataParameters.hasDynValue(WFSStoreParameters.DYNFIELDNAME_CRS)){
-			setCrs((String)dataParameters.getDynValue(WFSStoreParameters.DYNFIELDNAME_CRS));
-		}
-	}
-
-	protected static void registerDynClass() {
-		if (DYNCLASS == null) {
-			PersistenceManager manager = ToolsLocator.getPersistenceManager();
-			DynStruct definition = manager.addDefinition(
-					WFSStoreParameters.class,
-					DYNCLASS_NAME,
-					"WFSStoreParameters Persistence definition",
-					null,
-					null
-			);
-			definition.addDynFieldString(DYNFIELDNAME_URL)
-				.setDescription("URL of the WFS server")
-				.setMandatory(true);
-
-			definition.addDynFieldString(DYNFIELDNAME_VERSION)
-				.setDescription("Version of the WFS server")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_TYPENAME)
-				.setDescription("Feature type to retrieve")
-				.setMandatory(true);
-
-			definition.addDynFieldString(DYNFIELDNAME_NAMESPACE)
-				.setDescription("Namespace of the feature type to retrieve")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_NAMESPACEPREFIX)
-				.setDescription("Prefix of the namespace of the feature type to retrieve")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_FIELDS)
-				.setDescription("Fields to retrieve separated by ','")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE)
-				.setDescription("Filter encoding request")
-				.setMandatory(false);
-
-			definition.addDynFieldInt(DYNFIELDNAME_MAXFEATURES)
-				.setDescription("Number of features to retrieve")
-				.setMandatory(false);
-
-			definition.addDynFieldInt(DYNFIELDNAME_TIMEOUT)
-				.setDescription("Timeout")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_USER)
-				.setDescription("User name (not used at this moment)")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_PASSWORD)
-				.setDescription("Password (not used at this moment")
-				.setMandatory(false);
-
-			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY)
-				.setType(DataTypes.GEOMETRY)
-				.setDescription("Geometry used to do the filter")
-				.setMandatory(false);
-
-			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE)
-			.setType(DataTypes.ENVELOPE)
-			.setDescription("Envelope used to do the filter")
-			.setMandatory(false);
-
-			definition.addDynFieldInt(DYNFIELDNAME_FILTER_BY_AREA_OPERATION)
-				.setDescription("Geometry operation used to do the filter")
-				.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE)
-				.setDescription("Attribute that contains the geometry")
-				.setMandatory(false);
-
-			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_CRS)
-			.setType(DataTypes.CRS)
-			.setDescription("CRS to do the spatial filter of the query")
-			.setMandatory(false);
-
-			definition.addDynFieldString(DYNFIELDNAME_CRS)
-			.setDescription("CRS")
-			.setMandatory(false);
-
-			definition.addDynFieldBoolean("useAxisOrderYX")
-                                .setDefaultFieldValue("false")
-				.setMandatory(false);
-
-			definition.addDynFieldBoolean("ignoreCache")
-                                .setDefaultFieldValue("false")
-				.setMandatory(false);
-
-			DYNCLASS = (DynClass) definition;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.gvsig.fmap.dal.DataStoreParameters#getDataStoreName()
-	 */
-	public String getDataStoreName() {
-		return WFSStoreProvider.NAME;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.gvsig.fmap.dal.DataStoreParameters#getDescription()
-	 */
-	public String getDescription() {
-		return WFSStoreProvider.DESCRIPTION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.gvsig.fmap.dal.DataStoreParameters#isValid()
-	 */
-	public boolean isValid() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public String getUrl(){
-		return (String) this.getDynValue(DYNFIELDNAME_URL);
-	}
-
-	public void setUrl(String url){
-		this.setDynValue(DYNFIELDNAME_URL, url);
-	}
-
-	public String getVersion(){
-		return (String) this.getDynValue(DYNFIELDNAME_VERSION);
-	}
-
-	public void setVersion(String version){
-		this.setDynValue(DYNFIELDNAME_VERSION, version);
-	}
-
-	public String getFeatureType(){
-		return (String) this.getDynValue(DYNFIELDNAME_TYPENAME);
-	}
-
-	public void setFeatureType(String featureType){
-		this.setDynValue(DYNFIELDNAME_TYPENAME, featureType);
-	}
-
-	public void setFeatureType(String namespace, String featureType){
-		this.setDynValue(DYNFIELDNAME_NAMESPACE, namespace);
-		this.setDynValue(DYNFIELDNAME_TYPENAME, featureType);
-	}
-
-	public void setFeatureType(String prefix, String namespace, String featureType){
-		this.setDynValue(DYNFIELDNAME_NAMESPACEPREFIX, prefix);
-		this.setDynValue(DYNFIELDNAME_NAMESPACE, namespace);
-		this.setDynValue(DYNFIELDNAME_TYPENAME, featureType);
-	}
-
-	public String getFeatureNamespace(){
-		return (String) this.getDynValue(DYNFIELDNAME_NAMESPACE);
-	}
-
-	public String getFeaturePrefix(){
-		return (String) this.getDynValue(DYNFIELDNAME_NAMESPACEPREFIX);
-	}
-
-	public String getFields(){
-		return (String) this.getDynValue(DYNFIELDNAME_FIELDS);
-	}
-
-	public void setFields(String fields){
-		this.setDynValue(DYNFIELDNAME_FIELDS, fields);
-	}
-
-	public String getFilterEncodingByAttribute(){
-		return (String) this.getDynValue(DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE);
-	}
-
-	public void setFilterEncodingByAttribute(String filter){
-		this.setDynValue(DYNFIELDNAME_FILTER_ENCODING_BY_ATTRIBUTE, filter);
-	}
-
-	public Integer getMaxFeatures(){
-		return (Integer) this.getDynValue(DYNFIELDNAME_MAXFEATURES);
-	}
-
-	public void setMaxFeatures(Integer maxFeatures){
-		this.setDynValue(DYNFIELDNAME_MAXFEATURES, maxFeatures);
-	}
-
-	public Integer getTimeOut(){
-		return (Integer) this.getDynValue(DYNFIELDNAME_TIMEOUT);
-	}
-
-	public void setTimeOut(Integer timeOut){
-		this.setDynValue(DYNFIELDNAME_TIMEOUT, timeOut);
-	}
-
-	public String getUser(){
-		return (String) this.getDynValue(DYNFIELDNAME_USER);
-	}
-
-	public void setUser(String user){
-		this.setDynValue(DYNFIELDNAME_USER, user);
-	}
-
-	public String getPassword(){
-		return (String) this.getDynValue(DYNFIELDNAME_PASSWORD);
-	}
-
-	public void setPassword(String password){
-		this.setDynValue(DYNFIELDNAME_PASSWORD, password);
-	}
-
-	public Geometry getFilterByAreaGeometry(){
-		return (Geometry) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY);
-	}
-
-	public void setFilterByAreaGeometry(Geometry area){
-		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY, area);
-	}
-
-	public Envelope getFilterByAreaEnvelope(){
-		return (Envelope) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE);
-	}
-
-	public void setFilterByAreaEnvelope(Envelope area){
-		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE, area);
-	}
-
-	public Integer getFilterByAreaOperation(){
-		return (Integer) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION);
-	}
-
-	public void setFilterByAreaOperation(Integer operation){
-		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION, operation);
-	}
-
-	public IProjection getFilterByAreaCrs(){
-		return (IProjection) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS);
-	}
-
-	public void setFilterByAreaCrs(IProjection crs){
-		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS, crs);
-	}
-
-	public String getCrs(){
-		return (String) this.getDynValue(DYNFIELDNAME_CRS);
-	}
-
-	public void setCrs(String crs){
-		this.setDynValue(DYNFIELDNAME_CRS, crs);
-	}
-
-	public String getFilterByAreaAttribute(){
-		return (String) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE);
-	}
-
-	public void setFilterByAreaAttribute(String attribute){
-		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE, attribute);
-	}
-
-	public boolean getUseAxisOrderYX() {
-            Boolean x = (Boolean) this.getDynValue("useAxisOrderYX");
-            return BooleanUtils.isTrue(x);
-	}
-
-	public void setUseAxisOrderYX(boolean useAxisOrderYX){
-            this.setDynValue("useAxisOrderYX", new Boolean(useAxisOrderYX));
-	}
-
-        public boolean getIgnoreCache() {
-            Boolean x = (Boolean) this.getDynValue("ignoreCache");
-            return BooleanUtils.isTrue(x);
-	}
-
-	public void setIgnoreCache(boolean ignoreCache){
-            this.setDynValue("ignoreCache", new Boolean(ignoreCache));
-	}
-}
-
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSOpenStoreParameters.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSOpenStoreParameters.java	(revision 0)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSOpenStoreParameters.java	(revision 416)
@@ -0,0 +1,32 @@
+package org.gvsig.fmap.dal.store.wfs;
+
+import org.gvsig.fmap.dal.DataParameters;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
+import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters;
+
+
+public class WFSOpenStoreParameters 
+    extends WFSBaseStoreParameters
+    implements OpenFeatureStoreParameters
+    {
+
+    private static String PARAMETERS_NAME = "WFSStoreParameters";
+    
+    public WFSOpenStoreParameters() {
+        super();
+    }
+    
+	public WFSOpenStoreParameters(DataParameters dataParameters) throws InitializeException, ProviderNotRegisteredException{
+		super(dataParameters);
+    }
+
+    @Override
+    protected String getStoreParametersName() {
+        return PARAMETERS_NAME;
+    }
+    
+    public static void registerParameterClass() {
+        WFSBaseStoreParameters.registerParameterClass(WFSOpenStoreParameters.class, PARAMETERS_NAME);
+    }
+}
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSLibrary.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSLibrary.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSLibrary.java	(revision 416)
@@ -27,9 +27,11 @@
  
 package org.gvsig.fmap.dal.store.wfs;
 
+import org.gvsig.fmap.dal.DALFileLocator;
 import org.gvsig.fmap.dal.DALLibrary;
 import org.gvsig.fmap.dal.DALLocator;
 import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer;
+import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorerFactory;
 import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorerParameters;
 import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
 import org.gvsig.fmap.mapcontext.MapContextLibrary;
@@ -57,7 +59,7 @@
 
 	@Override
 	protected void doPostInitialize() throws LibraryException {
-		WFSStoreParameters.registerDynClass();
+		WFSOpenStoreParameters.registerParameterClass();
 		try {
 			WFSStoreProvider.registerMetadataDefinition();
 		} catch (MetadataException e) {
@@ -65,23 +67,21 @@
 		}
 
 		DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator
-		.getDataManager();
+    		.getDataManager();
 
-		if (!dataman.getStoreProviders().contains(WFSStoreProvider.NAME)) {
-			dataman.registerStoreProvider(WFSStoreProvider.NAME,
-					WFSStoreProvider.class, WFSStoreParameters.class);
-		}	
-		
+        if (!dataman.getStoreProviders().contains(WFSStoreProvider.NAME)) {
+            dataman.registerStoreProviderFactory(new WFSStoreProviderFactory(WFSStoreProvider.NAME, WFSStoreProvider.DESCRIPTION));
+
+        }
+            
 		if (!dataman.getExplorerProviders().contains(WFSServerExplorer.NAME)){
-			dataman.registerExplorerProvider(WFSServerExplorer.NAME,
-					WFSServerExplorer.class, WFSServerExplorerParameters.class);
+            dataman.registerServerExplorerFactory(new WFSServerExplorerFactory());
 		}	
 		
 		//Register the WFSStroreParams to be loaded from the catalog extension
-		ExtensionPointManager extensionPointManager = ToolsLocator
-		.getExtensionPointManager();
+		ExtensionPointManager extensionPointManager = ToolsLocator.getExtensionPointManager();
 		ExtensionPoint extensionPoint = extensionPointManager.add("CatalogDataStoreParameters");
-		extensionPoint.append("OGC:WFS", "Data store parameters to load a WFS layer", WFSStoreParameters.class);
+		extensionPoint.append("OGC:WFS", "Data store parameters to load a WFS layer", WFSOpenStoreParameters.class);
 	}
 }
 
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProvider.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProvider.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProvider.java	(revision 416)
@@ -152,7 +152,7 @@
 
 	private void initParams() throws InitializeException {
 		try {
-			WFSStoreParameters wfsParameters = getWFSParameters();
+			WFSOpenStoreParameters wfsParameters = getWFSParameters();
 			try {
 				if (wfsParameters.getVersion() == null) {
 					wfsClient = new WFSClient(wfsParameters.getUrl(),
@@ -217,7 +217,7 @@
 
 	private WFSFeature getSelectedWFSFeature() throws ReadException,
 			WFSException {
-		WFSStoreParameters wfsParameters = getWFSParameters();
+		WFSOpenStoreParameters wfsParameters = getWFSParameters();
 
 		return ((WFSServerExplorer) getExplorer()).getFeatureInfo(
 				wfsParameters.getFeatureNamespace(),
@@ -354,8 +354,8 @@
 		return null;
 	}
 
-	private WFSStoreParameters getWFSParameters() {
-		return (WFSStoreParameters) getParameters();
+	private WFSOpenStoreParameters getWFSParameters() {
+		return (WFSOpenStoreParameters) getParameters();
 	}
 
 	/*
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSNewStoreParameters.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSNewStoreParameters.java	(revision 0)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSNewStoreParameters.java	(revision 416)
@@ -0,0 +1,32 @@
+package org.gvsig.fmap.dal.store.wfs;
+
+import org.gvsig.fmap.dal.DataParameters;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
+import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters;
+
+
+public class WFSNewStoreParameters 
+    extends WFSBaseStoreParameters
+    implements OpenFeatureStoreParameters
+    {
+
+    private static String PARAMETERS_NAME = "WFSNewStoreParameters";
+    
+    public WFSNewStoreParameters() {
+        super();
+    }
+    
+	public WFSNewStoreParameters(DataParameters dataParameters) throws InitializeException, ProviderNotRegisteredException{
+		super(dataParameters);
+    }
+
+    @Override
+    protected String getStoreParametersName() {
+        return PARAMETERS_NAME;
+    }
+    
+    public static void registerParameterClass() {
+        WFSBaseStoreParameters.registerParameterClass(WFSOpenStoreParameters.class, PARAMETERS_NAME);
+    }
+}
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSBaseStoreParameters.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSBaseStoreParameters.java	(revision 0)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSBaseStoreParameters.java	(revision 416)
@@ -0,0 +1,378 @@
+
+package org.gvsig.fmap.dal.store.wfs;
+
+import org.apache.commons.lang3.BooleanUtils;
+import org.cresques.cts.IProjection;
+import org.gvsig.fmap.dal.DataParameters;
+import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.DataTypes;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
+import org.gvsig.fmap.dal.spi.AbstractDataParameters;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.geom.primitive.Envelope;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DelegatedDynObject;
+import org.gvsig.tools.dynobject.DynClass;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+
+
+public abstract class WFSBaseStoreParameters 
+    extends AbstractDataParameters 
+    implements DataStoreParameters
+    {
+	protected static DynClass DYNCLASS = null;
+
+	public static final String FIELD_URL = "url";
+	public static final String FIELD_VERSION = "version";
+	public static final String FIELD_TYPENAME = "typeName";
+	public static final String FIELD_NAMESPACE = "namespace";
+	public static final String DYNFIELDNAME_NAMESPACEPREFIX = "namespacePrefix";
+	public static final String DYNFIELDNAME_FIELDS = "fields";
+	public static final String FIELD_FILTER_ENCODING_BY_ATTRIBUTE = "filterEncodingByAttribute";
+	public static final String DYNFIELDNAME_MAXFEATURES = "maxFeatures";
+	public static final String DYNFIELDNAME_TIMEOUT = "timeOut";
+	public static final String DYNFIELDNAME_USER = "user";
+	public static final String DYNFIELDNAME_PASSWORD = "password";
+	public static final String DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY = "filterByAreaGeometry";
+	public static final String DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE = "filterByAreaEnvelope";
+	public static final String DYNFIELDNAME_FILTER_BY_AREA_OPERATION = "filterByAreaOperation";
+	public static final String DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE = "filterByAreaAttribute";
+	public static final String DYNFIELDNAME_FILTER_BY_AREA_CRS = "filterByAreaCrs";
+	public static final String DYNFIELDNAME_CRS = "Crs";
+
+	private DelegatedDynObject delegatedDynObject;
+
+	public WFSBaseStoreParameters() {
+		super();
+		this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
+            .getDynObjectManager().createDynObject(DYNCLASS);
+	}
+
+	@Override
+	protected DelegatedDynObject getDelegatedDynObject() {
+		return delegatedDynObject;
+	}
+    
+    protected abstract String getStoreParametersName();
+
+	public WFSBaseStoreParameters(DataParameters dataParameters) throws InitializeException, ProviderNotRegisteredException{
+		this();
+		setUrl((String)dataParameters.getDynValue(FIELD_URL));
+		String namespace = null;
+		String namespacePrefix = null;
+		if (dataParameters.hasDynValue(FIELD_NAMESPACE)){
+			namespace = (String)dataParameters.getDynValue(FIELD_NAMESPACE);
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_NAMESPACEPREFIX)){
+			namespacePrefix = (String)dataParameters.getDynValue(DYNFIELDNAME_NAMESPACEPREFIX);
+		}
+		setFeatureType(namespacePrefix, namespace,
+				(String)dataParameters.getDynValue(FIELD_TYPENAME));
+		if (dataParameters.hasDynValue(DYNFIELDNAME_MAXFEATURES)){
+			setMaxFeatures((Integer)dataParameters.getDynValue(DYNFIELDNAME_MAXFEATURES));
+		}else{
+			setMaxFeatures(1000);
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_TIMEOUT)){
+			setTimeOut((Integer)dataParameters.getDynValue(DYNFIELDNAME_TIMEOUT));
+		}else{
+			setTimeOut(10000);
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY)){
+			setFilterByAreaGeometry((Geometry)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY));
+			setFilterByAreaAttribute((String)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE));
+			setFilterByAreaCrs((IProjection)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS));
+			setFilterByAreaOperation((Integer)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION));
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE)){
+			setFilterByAreaEnvelope((Envelope)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE));
+			setFilterByAreaAttribute((String)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE));
+			setFilterByAreaCrs((IProjection)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS));
+			setFilterByAreaOperation((Integer)dataParameters.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION));
+		}
+		if (dataParameters.hasDynValue(FIELD_VERSION)){
+			setVersion((String)dataParameters.getDynValue(FIELD_VERSION));
+		}
+		if (dataParameters.hasDynValue(FIELD_FILTER_ENCODING_BY_ATTRIBUTE)){
+			setFilterEncodingByAttribute((String)dataParameters.getDynValue(FIELD_FILTER_ENCODING_BY_ATTRIBUTE));
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_USER)){
+			setUser((String)dataParameters.getDynValue(DYNFIELDNAME_USER));
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_PASSWORD)){
+			setPassword((String)dataParameters.getDynValue(DYNFIELDNAME_PASSWORD));
+		}
+		if (dataParameters.hasDynValue(DYNFIELDNAME_CRS)){
+			setCrs((String)dataParameters.getDynValue(DYNFIELDNAME_CRS));
+		}
+	}
+
+	protected static void registerParameterClass(Class parametersClass, String parametersName) {
+		if (DYNCLASS == null) {
+			PersistenceManager manager = ToolsLocator.getPersistenceManager();
+			DynStruct definition = manager.addDefinition(
+					parametersClass,
+					parametersName,
+					parametersName + " Persistence definition",
+					null,
+					null
+			);
+			definition.addDynFieldString(FIELD_URL)
+				.setDescription("URL of the WFS server")
+				.setMandatory(true);
+
+			definition.addDynFieldString(FIELD_VERSION)
+				.setDescription("Version of the WFS server")
+				.setMandatory(false);
+
+			definition.addDynFieldString(FIELD_TYPENAME)
+				.setDescription("Feature type to retrieve")
+				.setMandatory(true);
+
+			definition.addDynFieldString(FIELD_NAMESPACE)
+				.setDescription("Namespace of the feature type to retrieve")
+				.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_NAMESPACEPREFIX)
+				.setDescription("Prefix of the namespace of the feature type to retrieve")
+				.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_FIELDS)
+				.setDescription("Fields to retrieve separated by ','")
+				.setMandatory(false);
+
+			definition.addDynFieldString(FIELD_FILTER_ENCODING_BY_ATTRIBUTE)
+				.setDescription("Filter encoding request")
+				.setMandatory(false);
+
+			definition.addDynFieldInt(DYNFIELDNAME_MAXFEATURES)
+				.setDescription("Number of features to retrieve")
+				.setMandatory(false);
+
+			definition.addDynFieldInt(DYNFIELDNAME_TIMEOUT)
+				.setDescription("Timeout")
+				.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_USER)
+				.setDescription("User name (not used at this moment)")
+				.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_PASSWORD)
+				.setDescription("Password (not used at this moment")
+				.setMandatory(false);
+
+			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY)
+				.setType(DataTypes.GEOMETRY)
+				.setDescription("Geometry used to do the filter")
+				.setMandatory(false);
+
+			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE)
+			.setType(DataTypes.ENVELOPE)
+			.setDescription("Envelope used to do the filter")
+			.setMandatory(false);
+
+			definition.addDynFieldInt(DYNFIELDNAME_FILTER_BY_AREA_OPERATION)
+				.setDescription("Geometry operation used to do the filter")
+				.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE)
+				.setDescription("Attribute that contains the geometry")
+				.setMandatory(false);
+
+			definition.addDynFieldObject(DYNFIELDNAME_FILTER_BY_AREA_CRS)
+			.setType(DataTypes.CRS)
+			.setDescription("CRS to do the spatial filter of the query")
+			.setMandatory(false);
+
+			definition.addDynFieldString(DYNFIELDNAME_CRS)
+			.setDescription("CRS")
+			.setMandatory(false);
+
+			definition.addDynFieldBoolean("useAxisOrderYX")
+                                .setDefaultFieldValue("false")
+				.setMandatory(false);
+
+			definition.addDynFieldBoolean("ignoreCache")
+                                .setDefaultFieldValue("false")
+				.setMandatory(false);
+
+			DYNCLASS = (DynClass) definition;
+		}
+	}
+    
+    @Override
+	public String getDataStoreName() {
+		return WFSStoreProvider.NAME;
+	}
+
+    @Override
+	public String getDescription() {
+		return WFSStoreProvider.DESCRIPTION;
+	}
+
+    @Override
+	public boolean isValid() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public String getUrl(){
+		return (String) this.getDynValue(FIELD_URL);
+	}
+
+	public void setUrl(String url){
+		this.setDynValue(FIELD_URL, url);
+	}
+
+	public String getVersion(){
+		return (String) this.getDynValue(FIELD_VERSION);
+	}
+
+	public void setVersion(String version){
+		this.setDynValue(FIELD_VERSION, version);
+	}
+
+	public String getFeatureType(){
+		return (String) this.getDynValue(FIELD_TYPENAME);
+	}
+
+	public void setFeatureType(String featureType){
+		this.setDynValue(FIELD_TYPENAME, featureType);
+	}
+
+	public void setFeatureType(String namespace, String featureType){
+		this.setDynValue(FIELD_NAMESPACE, namespace);
+		this.setDynValue(FIELD_TYPENAME, featureType);
+	}
+
+	public void setFeatureType(String prefix, String namespace, String featureType){
+		this.setDynValue(DYNFIELDNAME_NAMESPACEPREFIX, prefix);
+		this.setDynValue(FIELD_NAMESPACE, namespace);
+		this.setDynValue(FIELD_TYPENAME, featureType);
+	}
+
+	public String getFeatureNamespace(){
+		return (String) this.getDynValue(FIELD_NAMESPACE);
+	}
+
+	public String getFeaturePrefix(){
+		return (String) this.getDynValue(DYNFIELDNAME_NAMESPACEPREFIX);
+	}
+
+	public String getFields(){
+		return (String) this.getDynValue(DYNFIELDNAME_FIELDS);
+	}
+
+	public void setFields(String fields){
+		this.setDynValue(DYNFIELDNAME_FIELDS, fields);
+	}
+
+	public String getFilterEncodingByAttribute(){
+		return (String) this.getDynValue(FIELD_FILTER_ENCODING_BY_ATTRIBUTE);
+	}
+
+	public void setFilterEncodingByAttribute(String filter){
+		this.setDynValue(FIELD_FILTER_ENCODING_BY_ATTRIBUTE, filter);
+	}
+
+	public Integer getMaxFeatures(){
+		return (Integer) this.getDynValue(DYNFIELDNAME_MAXFEATURES);
+	}
+
+	public void setMaxFeatures(Integer maxFeatures){
+		this.setDynValue(DYNFIELDNAME_MAXFEATURES, maxFeatures);
+	}
+
+	public Integer getTimeOut(){
+		return (Integer) this.getDynValue(DYNFIELDNAME_TIMEOUT);
+	}
+
+	public void setTimeOut(Integer timeOut){
+		this.setDynValue(DYNFIELDNAME_TIMEOUT, timeOut);
+	}
+
+	public String getUser(){
+		return (String) this.getDynValue(DYNFIELDNAME_USER);
+	}
+
+	public void setUser(String user){
+		this.setDynValue(DYNFIELDNAME_USER, user);
+	}
+
+	public String getPassword(){
+		return (String) this.getDynValue(DYNFIELDNAME_PASSWORD);
+	}
+
+	public void setPassword(String password){
+		this.setDynValue(DYNFIELDNAME_PASSWORD, password);
+	}
+
+	public Geometry getFilterByAreaGeometry(){
+		return (Geometry) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY);
+	}
+
+	public void setFilterByAreaGeometry(Geometry area){
+		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_GEOMETRY, area);
+	}
+
+	public Envelope getFilterByAreaEnvelope(){
+		return (Envelope) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE);
+	}
+
+	public void setFilterByAreaEnvelope(Envelope area){
+		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_ENVELOPE, area);
+	}
+
+	public Integer getFilterByAreaOperation(){
+		return (Integer) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION);
+	}
+
+	public void setFilterByAreaOperation(Integer operation){
+		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_OPERATION, operation);
+	}
+
+	public IProjection getFilterByAreaCrs(){
+		return (IProjection) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS);
+	}
+
+	public void setFilterByAreaCrs(IProjection crs){
+		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_CRS, crs);
+	}
+
+	public String getCrs(){
+		return (String) this.getDynValue(DYNFIELDNAME_CRS);
+	}
+
+	public void setCrs(String crs){
+		this.setDynValue(DYNFIELDNAME_CRS, crs);
+	}
+
+	public String getFilterByAreaAttribute(){
+		return (String) this.getDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE);
+	}
+
+	public void setFilterByAreaAttribute(String attribute){
+		this.setDynValue(DYNFIELDNAME_FILTER_BY_AREA_ATTRIBUTE, attribute);
+	}
+
+	public boolean getUseAxisOrderYX() {
+            Boolean x = (Boolean) this.getDynValue("useAxisOrderYX");
+            return BooleanUtils.isTrue(x);
+	}
+
+	public void setUseAxisOrderYX(boolean useAxisOrderYX){
+            this.setDynValue("useAxisOrderYX", useAxisOrderYX);
+	}
+
+        public boolean getIgnoreCache() {
+            Boolean x = (Boolean) this.getDynValue("ignoreCache");
+            return BooleanUtils.isTrue(x);
+	}
+
+	public void setIgnoreCache(boolean ignoreCache){
+            this.setDynValue("ignoreCache", ignoreCache);
+	}
+    
+}
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProviderFactory.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProviderFactory.java	(revision 0)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/store/wfs/WFSStoreProviderFactory.java	(revision 416)
@@ -0,0 +1,103 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2013 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.fmap.dal.store.wfs;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.fmap.dal.DataParameters;
+import org.gvsig.fmap.dal.DataStoreProvider;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProviderFactory;
+import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
+import org.gvsig.tools.dynobject.DynObject;
+
+public class WFSStoreProviderFactory extends AbstractFeatureStoreProviderFactory {
+
+    private static final Logger logger = LoggerFactory.getLogger(WFSStoreProviderFactory.class);
+
+	protected WFSStoreProviderFactory(String name, String description) {
+		super(name, description);
+	}
+
+    @Override
+	public DataStoreProvider createProvider(DataParameters parameters,
+			DataStoreProviderServices providerServices)
+			throws InitializeException {
+		return new WFSStoreProvider((WFSOpenStoreParameters) parameters, providerServices);
+	}
+
+    @Override
+	public DynObject createParameters() {
+		return new WFSOpenStoreParameters();
+	}
+
+    @Override
+	public int allowCreate() {
+		return NO;
+	}
+
+    @Override
+	public int allowWrite() {
+		return NO;
+	}
+
+    @Override
+	public int allowRead() {
+		return YES;
+	}
+
+    @Override
+	public int hasRasterSupport() {
+		return NO;
+	}
+
+    @Override
+	public int hasTabularSupport() {
+		return YES;
+	}
+
+    @Override
+	public int hasVectorialSupport() {
+		return YES;
+	}
+
+    @Override
+	public int allowMultipleGeometryTypes() {
+		return YES;
+	}
+
+
+    @Override
+    public int allowEditableFeatureType() {
+        return NO;
+    }
+
+    @Override
+    public int useLocalIndexesCanImprovePerformance() {
+        return NO;
+    }
+
+}
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorerFactory.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorerFactory.java	(revision 0)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorerFactory.java	(revision 416)
@@ -0,0 +1,28 @@
+
+package org.gvsig.fmap.dal.serverexplorer.wfs;
+
+import org.gvsig.fmap.dal.DataServerExplorer;
+import org.gvsig.fmap.dal.DataServerExplorerParameters;
+import org.gvsig.fmap.dal.exception.InitializeException;
+import org.gvsig.fmap.dal.spi.AbstractDataServerExplorerFactory;
+import org.gvsig.fmap.dal.spi.DataServerExplorerProviderServices;
+import org.gvsig.fmap.dal.store.wfs.WFSStoreProvider;
+import org.gvsig.tools.dynobject.DynObject;
+
+public class WFSServerExplorerFactory extends AbstractDataServerExplorerFactory {
+
+    public WFSServerExplorerFactory() {
+        super(WFSServerExplorer.NAME, WFSStoreProvider.DESCRIPTION);
+    }
+    
+    @Override
+    public DynObject createParameters() {
+        return new WFSServerExplorerParameters();
+    }
+
+    @Override
+    public DataServerExplorer create(DataServerExplorerParameters parameters, DataServerExplorerProviderServices explorer) throws InitializeException {
+        return new WFSServerExplorer((WFSServerExplorerParameters) parameters, explorer);
+    }
+    
+}
Index: org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorer.java
===================================================================
--- org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorer.java	(revision 415)
+++ org.gvsig.wfs.app/trunk/org.gvsig.wfs.app/org.gvsig.wfs.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/wfs/WFSServerExplorer.java	(revision 416)
@@ -47,7 +47,7 @@
 import org.gvsig.fmap.dal.spi.DataServerExplorerProvider;
 import org.gvsig.fmap.dal.spi.DataServerExplorerProviderServices;
 import org.gvsig.fmap.dal.store.wfs.WFSFeatureFiller;
-import org.gvsig.fmap.dal.store.wfs.WFSStoreParameters;
+import org.gvsig.fmap.dal.store.wfs.WFSOpenStoreParameters;
 import org.gvsig.fmap.dal.store.wfs.WFSStoreProvider;
 import org.gvsig.remoteclient.wfs.WFSClient;
 import org.gvsig.remoteclient.wfs.WFSFeature;
@@ -206,7 +206,7 @@
 
     public DataStoreParameters getParametersFor(WFSFeature feature)
     throws DataException {
-        WFSStoreParameters params = (WFSStoreParameters)dataManager
+        WFSOpenStoreParameters params = (WFSOpenStoreParameters)dataManager
         .createStoreParameters(WFSStoreProvider.NAME);
         params.setUrl(url);
         params.setFeatureType(feature.getNamespace().getPrefix(),
