From 3772280f55b0d9cba7ea503c42ea74c546d06ba3 Mon Sep 17 00:00:00 2001
From: latlon team <info@lat-lon.de>
Date: Mon, 16 Dec 2024 05:25:49 +0000
Subject: [PATCH] Code drop

- XPLANBOX-3506 - Add lower cases to parameters (d4ee90571)
- XPLANBOX-3438 - upgrade to PostgreSQL 15 (746e1799c)
- XPLANBOX-3393 - updated assertions (49ebda025)
- XPLANBOX-3506 - case insensitiv SERVICE param in XPlanGateway (43f8b3437)
- XPLANBOX-3393 - added route /xplan-ows/getAttachment, use XPlanGateway in html.gfi (2e231380c)
- XPLANBOX-3393 - replaced XPlanWMS/XPlanValidatorWMS Urls with XPlanGatewayUrls in map preview of XPlanValidatorWeb and XPlanManagerWeb (d89f4cf4a)
- XPLANBOX-3354 - execute xplan-gateway-soapui with mvn and docker, enhanced jenkinsfile (f64803c26)
- XPLANBOX-3354 - added new soapui project xplan-gateway-soapui-project.xml (194d72a20)
- XPLANBOX-3393 - enhanced gateway: /xplan-ows/syn-archive/planwerk -> [xplan-services]/xplan-wms/services/planwerkwmsarchive (eed4d70fb)
- XPLANBOX-3393 - create links with xplan-gateway syntax (2e874cd90)
- XPLANBOX-3393 - added xplan-validator-wms to xplan-gateway (de15e0b44)

Co-authored-by: Dirk Stenger <stenger@lat-lon.de>
Co-authored-by: Lyn Elisa Goltz <goltz@lat-lon.de>

Dropped from commit: 91cf95439eb67a8fd943fe8ca5e943d8b9ddcc3e
---
 jenkinsfiles/tests-soapui.Jenkinsfile         |   11 +
 .../api/commons/config/ApiConfiguration.java  |   26 +-
 .../configuration/ValidatorConfiguration.java |   21 +-
 .../ValidatorConfigurationParser.java         |   36 +-
 .../validator/wms/MapPreviewManager.java      |   25 +-
 .../wms/config/ValidatorWmsContext.java       |   10 -
 .../validatorConfiguration.properties         |    5 -
 .../validatorConfiguration.properties         |    5 -
 .../xplan-database-docker/Dockerfile          |    4 +-
 .../xplan-docker-volume-init/setupVolumes.sh  |    9 +-
 xplan-gateway/README.md                       |    3 +-
 ...InsensitiveQueryRoutePredicateFactory.java |  109 +
 .../xplanbox/gateway/Configuration.java       |   59 +-
 .../gateway/XPlanGatewayApplication.java      |    2 +-
 .../src/main/resources/application.properties |    1 +
 .../xplanbox/gateway/ConfigurationTest.java   |   94 +-
 .../xplanbox/api/manager/PlanInfoBuilder.java |   36 +-
 .../manager/config/ApplicationContext.java    |    6 +-
 .../config/ManagerApiConfiguration.java       |   16 +-
 .../src/main/resources/application.properties |    4 +-
 .../api/manager/PlanInfoBuilderTest.java      |    6 +-
 .../managerApiConfiguration.properties        |    6 +-
 .../managerWebConfiguration.properties        |    4 -
 .../manager/web/client/utils/WmsUrlUtils.java |  113 +-
 .../ManagerWebConfigurationRetriever.java     |   34 +-
 .../ManagerWebConfigurationServiceImpl.java   |    6 +-
 .../web/shared/MapPreviewConfiguration.java   |   75 +-
 .../managerWebConfiguration.properties        |    4 -
 .../web/client/utils/WmsUrlUtilsTest.java     |  189 +-
 .../ManagerWebConfigurationRetrieverTest.java |   27 +-
 ...anagerWebConfigurationServiceImplTest.java |   13 +-
 xplan-tests/xplan-tests-soapui/README.md      |    7 +
 xplan-tests/xplan-tests-soapui/pom.xml        |    2 +
 .../xplan-tests-soapui/runAllSoapUiTests.sh   |    4 +
 .../xplan-gateway-soapui-project.xml          | 3035 +++++++++++++++++
 .../xplan-manager-api-soapui-project.xml      |   68 +-
 .../executor/handler/ValidationHandler.java   |   19 +-
 .../src/main/resources/application.properties |    4 +-
 xplan-validator/xplan-validator-web/pom.xml   |    4 +
 .../config/XPlanValidatorWebSpringConfig.java |   11 +-
 .../main/resources/validator-web.properties   |    1 +
 .../src/main/workspace/services/html.gfi      |    6 +-
 42 files changed, 3587 insertions(+), 533 deletions(-)
 create mode 100644 xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/CaseInsensitiveQueryRoutePredicateFactory.java
 create mode 100644 xplan-tests/xplan-tests-soapui/src/main/resources/xplan-gateway-soapui-project.xml
 create mode 100644 xplan-validator/xplan-validator-web/src/main/resources/validator-web.properties

diff --git a/jenkinsfiles/tests-soapui.Jenkinsfile b/jenkinsfiles/tests-soapui.Jenkinsfile
index 5dddc4bf5..f9f99c1a5 100644
--- a/jenkinsfiles/tests-soapui.Jenkinsfile
+++ b/jenkinsfiles/tests-soapui.Jenkinsfile
@@ -15,6 +15,7 @@ pipeline {
       string(name: 'BASE_URL_INSPIRE_PLU', defaultValue: "https://xplanbox.lat-lon.de", description: 'Set base URL of INSPIRE PLU')
       string(name: 'BASE_URL_MAPSERVER', defaultValue: "https://xplanbox.lat-lon.de", description: 'Set base URL of MapServer')
       string(name: 'BASE_URL_MAPPROXY', defaultValue: "https://xplanbox.lat-lon.de", description: 'Set base URL of MapProxy')
+      string(name: 'BASE_URL_GATEWAY', defaultValue: "https://xplanbox.lat-lon.de", description: 'Set base URL of XPlanGateway')
       string(name: 'JWT_URL', description: 'URL to retrieve a JSON Web Token')
       string(name: 'JWT_CLIENTID', defaultValue: "xplanbox-api", description: 'ID of the Client configured in Keycloak')
       string(name: 'SLACK_CHANNEL', defaultValue: "#installationen", description: 'Set slack channel')
@@ -82,6 +83,16 @@ pipeline {
             }
          }
       }
+      stage('SoapUI-Test XPlanGateway') {
+         steps {
+            withCredentials([
+               usernamePassword(credentialsId:"${CREDENTIALS_ID}", passwordVariable: 'Password', usernameVariable: 'Username')
+            ]) {
+               sh 'mvn test -pl :xplan-tests-soapui -Psystem-tests -DtestFileName=xplan-gateway-soapui-project.xml \
+                       -DbaseUrlGateway=${BASE_URL_GATEWAY} -Dusername=$Username -Dpassword=$Password'
+            }
+         }
+      }
       stage('Results') {
          steps{
             junit '**/**/target/soapui/TEST-*.xml'
diff --git a/xplan-core/xplan-core-api/src/main/java/de/latlon/xplanbox/api/commons/config/ApiConfiguration.java b/xplan-core/xplan-core-api/src/main/java/de/latlon/xplanbox/api/commons/config/ApiConfiguration.java
index 1fdf4751e..de0b8c949 100644
--- a/xplan-core/xplan-core-api/src/main/java/de/latlon/xplanbox/api/commons/config/ApiConfiguration.java
+++ b/xplan-core/xplan-core-api/src/main/java/de/latlon/xplanbox/api/commons/config/ApiConfiguration.java
@@ -131,23 +131,33 @@ public abstract class ApiConfiguration {
 	}
 
 	/**
-	 * Parse the property as URL.
+	 * Parse the property as URI.
 	 * @param properties never <code>null</code>
 	 * @param propName the name of the property, never <code>null</code>
-	 * @return the parsed url, <code>null</code> if no property is set
-	 * @throws ConfigurationException if the property is not a valid URL
+	 * @return the parsed uri, <code>null</code> if no property is set
+	 * @throws ConfigurationException if the property is not a valid uri
 	 */
 	protected URI parseUri(Properties properties, String propName) throws ConfigurationException {
 		String property = properties.getProperty(propName);
-		if (property == null || property.isEmpty())
+		return parseUri(property);
+	}
+
+	/**
+	 * Parse the passed uri as URI.
+	 * @param uri never <code>null</code>
+	 * @return the parsed uri, <code>null</code> if no property is set
+	 * @throws ConfigurationException if the property is not a valid uri
+	 */
+	protected static URI parseUri(String uri) throws ConfigurationException {
+		if (uri == null || uri.isEmpty())
 			return null;
 		try {
-			if (!property.endsWith("/"))
-				property = property + "/";
-			return new URI(property);
+			if (!uri.endsWith("/"))
+				uri = uri + "/";
+			return new URI(uri);
 		}
 		catch (URISyntaxException e) {
-			throw new ConfigurationException("Could not parse property " + property + " as URI.", e);
+			throw new ConfigurationException("Could not parse uri " + uri + " as URI.", e);
 		}
 	}
 
diff --git a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfiguration.java b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfiguration.java
index 11aa66ca3..14c3878e3 100644
--- a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfiguration.java
+++ b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfiguration.java
@@ -35,22 +35,18 @@ public class ValidatorConfiguration {
 
 	private final Path validationRulesDirectory;
 
-	private String validatorWmsEndpoint;
-
-	private List<ValidatorProfile> validatorProfiles;
+	private final List<ValidatorProfile> validatorProfiles;
 
 	/**
 	 * @param validationReportDirectory directory where validation reports are saved,
 	 * never <code>null</code>
 	 * @param validationRulesDirectory directory where validation rules are stored, never
 	 * <code>null</code>
-	 * @param validatorWmsEndpoint XPlanValidatorWMS endpoint, may be <code>null</code>
 	 * @param validatorProfiles configured validator profiles, may be <code>empty</code>
 	 * but never <code>null</code>
 	 */
 	public ValidatorConfiguration(Path validationReportDirectory, Path validationRulesDirectory,
-			String validatorWmsEndpoint, List<ValidatorProfile> validatorProfiles) {
-		this.validatorWmsEndpoint = validatorWmsEndpoint;
+			List<ValidatorProfile> validatorProfiles) {
 		checkParameters(validationReportDirectory);
 		this.validationReportDirectory = validationReportDirectory;
 		this.validationRulesDirectory = validationRulesDirectory;
@@ -74,16 +70,6 @@ public class ValidatorConfiguration {
 		return validationRulesDirectory;
 	}
 
-	/**
-	 * Returns the configured XPlanValidatorWMS endpoint.
-	 * @return XPlanValidatorWMS endpoint, may be <code>null</code>
-	 * @deprecated XPlanValidatorWMS is deprecated and will be removed in a future version
-	 */
-	@Deprecated
-	public String getValidatorWmsEndpoint() {
-		return validatorWmsEndpoint;
-	}
-
 	/**
 	 * Returns the configured validator profiles
 	 * @return validatorProfiles may be <code>empty</code> but never <code>null</code>
@@ -100,8 +86,7 @@ public class ValidatorConfiguration {
 	@Override
 	public String toString() {
 		return "ValidatorConfiguration{" + "validationReportDirectory=" + validationReportDirectory
-				+ ", validationRulesDirectory=" + validationRulesDirectory + ", validatorWmsEndpoint='"
-				+ validatorWmsEndpoint + '\'' + '}';
+				+ ", validationRulesDirectory=" + validationRulesDirectory + '}';
 	}
 
 }
diff --git a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfigurationParser.java b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfigurationParser.java
index a9b9c5b7a..fa60030e3 100644
--- a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfigurationParser.java
+++ b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/configuration/ValidatorConfigurationParser.java
@@ -20,15 +20,7 @@
  */
 package de.latlon.xplan.validator.configuration;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.type.CollectionType;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import de.latlon.xplan.commons.configuration.PropertiesLoader;
-import de.latlon.xplan.manager.web.shared.ConfigurationException;
-import org.apache.commons.lang3.StringUtils;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static java.nio.file.Files.createTempDirectory;
 
 import java.io.File;
 import java.io.IOException;
@@ -41,7 +33,15 @@ import java.util.List;
 import java.util.Properties;
 import java.util.stream.Collectors;
 
-import static java.nio.file.Files.createTempDirectory;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.type.CollectionType;
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+import de.latlon.xplan.commons.configuration.PropertiesLoader;
+import de.latlon.xplan.manager.web.shared.ConfigurationException;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Parses validator configuration and returns {@link ValidatorConfiguration}.
@@ -59,8 +59,6 @@ public class ValidatorConfigurationParser {
 
 	private static final String VALIDATION_RULES_DIRECTORY = "validationRulesDirectory";
 
-	private static final String VALIDATOR_WMS_ENDPOINT = "validatorWmsEndpoint";
-
 	/**
 	 * Parse validator configuration.
 	 * @param propertiesLoader properties loader used to load properties from
@@ -83,9 +81,8 @@ public class ValidatorConfigurationParser {
 		Properties properties = propertiesLoader.loadProperties(VALIDATOR_CONFIGURATION_PROPERTIES);
 		Path reportDirectory = createReportDirectory(properties);
 		Path rulesDirectory = createRulesDirectory(properties);
-		String validatorWmsEndpoint = parseValidatorWmsEndpoint(properties);
 		List<ValidatorProfile> validatorProfiles = parseValidatorProfiles(propertiesLoader);
-		return new ValidatorConfiguration(reportDirectory, rulesDirectory, validatorWmsEndpoint, validatorProfiles);
+		return new ValidatorConfiguration(reportDirectory, rulesDirectory, validatorProfiles);
 	}
 
 	private void logConfiguration(ValidatorConfiguration configuration) {
@@ -97,8 +94,6 @@ public class ValidatorConfigurationParser {
 		LOG.info("  validation rules directory");
 		LOG.info("   - {}", configuration.getValidationRulesDirectory() != null
 				? configuration.getValidationRulesDirectory() : "internal rules are used");
-		LOG.info("  XPlanValidatorWMS Endpoint");
-		LOG.info("   - {} (deprecated)", configuration.getValidatorWmsEndpoint());
 		LOG.info("-------------------------------------------");
 		if (!configuration.getValidatorProfiles().isEmpty()) {
 			LOG.info("  validation profiles");
@@ -126,15 +121,6 @@ public class ValidatorConfigurationParser {
 		return null;
 	}
 
-	/**
-	 * @deprecated XPlanValidatorWMS is deprecated and will be removed in a future version
-	 */
-	@Deprecated
-	private String parseValidatorWmsEndpoint(Properties properties) {
-		String validatorWmsEndpoint = properties.getProperty(VALIDATOR_WMS_ENDPOINT);
-		return validatorWmsEndpoint == null || validatorWmsEndpoint.trim().isEmpty() ? null : validatorWmsEndpoint;
-	}
-
 	private List<ValidatorProfile> parseValidatorProfiles(PropertiesLoader propertiesLoader)
 			throws IOException, ConfigurationException {
 		Path profileDirectory = propertiesLoader.resolveDirectory("profiles");
diff --git a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/MapPreviewManager.java b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/MapPreviewManager.java
index 55a7ba1d9..4df136068 100644
--- a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/MapPreviewManager.java
+++ b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/MapPreviewManager.java
@@ -23,12 +23,10 @@ package de.latlon.xplan.validator.wms;
 import javax.xml.stream.XMLStreamException;
 import java.io.File;
 
-import de.latlon.xplan.commons.XPlanSchemas;
 import de.latlon.xplan.commons.archive.XPlanArchive;
 import de.latlon.xplan.commons.archive.XPlanArchiveCreator;
 import de.latlon.xplan.commons.feature.XPlanFeatureCollection;
 import de.latlon.xplan.commons.feature.XPlanGmlParserBuilder;
-import de.latlon.xplan.validator.geometric.GeometricValidator;
 import de.latlon.xplan.validator.web.shared.MapPreviewMetadata;
 import de.latlon.xplan.validator.web.shared.XPlanEnvelope;
 import org.deegree.cs.coordinatesystems.ICRS;
@@ -55,24 +53,16 @@ public class MapPreviewManager {
 
 	private final MasterportalConfigWriter configWriter;
 
-	private final GeometricValidator geometricValidator;
-
-	private final XPlanSchemas schemas;
-
 	/**
 	 * @param validatorWmsManager used to create wms configuration, never
 	 * <code>null</code>
-	 * @param geometricValidator used to parse the gml, never <code>null</code>
-	 * @param validatorWmsEndpoint the base URL of the XPlanValidatorWMS, never
-	 * <code>null</code>
+	 * @param xplanGatewayUrl the base URL of the XPlanGateway, never <code>null</code>
 	 * @throws MapPreviewCreationException if instantiation failed
 	 */
-	public MapPreviewManager(ValidatorWmsManager validatorWmsManager, GeometricValidator geometricValidator,
-			String validatorWmsEndpoint) throws MapPreviewCreationException {
-		this.geometricValidator = geometricValidator;
+	public MapPreviewManager(ValidatorWmsManager validatorWmsManager, String xplanGatewayUrl)
+			throws MapPreviewCreationException {
 		this.validatorWmsManager = validatorWmsManager;
-		this.configWriter = new MasterportalConfigWriter(validatorWmsEndpoint);
-		this.schemas = XPlanSchemas.getInstance();
+		this.configWriter = new MasterportalConfigWriter(createValidatorWmsUrl(xplanGatewayUrl));
 
 	}
 
@@ -101,7 +91,6 @@ public class MapPreviewManager {
 		}
 	}
 
-	// TODO
 	private Envelope transformBboxTo25832(Envelope envelopeIn4326) {
 		try {
 			if (envelopeIn4326 != null) {
@@ -116,4 +105,10 @@ public class MapPreviewManager {
 		return envelopeIn4326;
 	}
 
+	private String createValidatorWmsUrl(String xplanGatewayUrl) {
+		if (!xplanGatewayUrl.endsWith("/"))
+			xplanGatewayUrl = xplanGatewayUrl + "/";
+		return xplanGatewayUrl + "xplan-ows/validator";
+	}
+
 }
diff --git a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/config/ValidatorWmsContext.java b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/config/ValidatorWmsContext.java
index 32c053440..7c59cb699 100644
--- a/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/config/ValidatorWmsContext.java
+++ b/xplan-core/xplan-core-validator/src/main/java/de/latlon/xplan/validator/wms/config/ValidatorWmsContext.java
@@ -22,7 +22,6 @@ package de.latlon.xplan.validator.wms.config;
 
 import de.latlon.xplan.manager.synthesizer.XPlanSynthesizer;
 import de.latlon.xplan.manager.synthesizer.rules.SynRulesAccessor;
-import de.latlon.xplan.validator.configuration.ValidatorConfiguration;
 import de.latlon.xplan.validator.wms.ValidatorWmsManager;
 import de.latlon.xplan.validator.wms.storage.PlanStorage;
 import org.slf4j.Logger;
@@ -46,21 +45,12 @@ public class ValidatorWmsContext {
 	@Autowired(required = false)
 	private PlanStorage planStorage;
 
-	@Autowired
-	private ValidatorConfiguration validatorConfiguration;
-
 	@Bean
 	public ValidatorWmsManager validatorWmsManager(XPlanSynthesizer synthesizer) {
 		if (planStorage == null) {
 			LOG.warn("PlanStorage is not available. Map preview will not be available.");
 			return null;
 		}
-		LOG.trace("Using validatorConfiguration: " + validatorConfiguration);
-		String validatorWmsEndpoint = validatorConfiguration.getValidatorWmsEndpoint();
-		if (validatorWmsEndpoint == null) {
-			LOG.warn("XPlanValidatorWMS endpoint URL is not configured. Map preview will not be available.");
-			return null;
-		}
 		try {
 			return new ValidatorWmsManager(synthesizer, planStorage);
 		}
diff --git a/xplan-core/xplan-core-validator/src/main/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties b/xplan-core/xplan-core-validator/src/main/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
index 44f45d8eb..51cee88a2 100644
--- a/xplan-core/xplan-core-validator/src/main/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
+++ b/xplan-core/xplan-core-validator/src/main/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
@@ -25,8 +25,3 @@ validationReportDirectory=
 # Verzeichnis in dem die semantischen Validierungsregel liegen, die für die Validierung verwendet werden sollen.
 # Default: Der interne Regelsatz wird verwendet
 validationRulesDirectory=
-
-# URL des XPlanValidatorWMS Endpunkts für die Anzeige der Kartenvorschau
-# Default: keine URL, die Kartenvorschau ist nicht verfügbar
-# XPlanValidatorWMS is deprecated and will be removed in a future version
-validatorWmsEndpoint=
diff --git a/xplan-core/xplan-core-validator/src/test/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties b/xplan-core/xplan-core-validator/src/test/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
index 339fd3c50..79ecb5f72 100644
--- a/xplan-core/xplan-core-validator/src/test/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
+++ b/xplan-core/xplan-core-validator/src/test/resources/de/latlon/xplan/validator/configuration/validatorConfiguration.properties
@@ -25,8 +25,3 @@ validationReportDirectory=/home/xplanbox/file/configuration/report/
 # Verzeichnis in dem die semantischen Validierungsregel liegen, die für die Validierung verwendet werden sollen.
 # Default: Der interne Regelsatz wird verwendet
 validationRulesDirectory=
-
-# URL des XPlanValidatorWMS Endpunkts für die Anzeige der Kartenvorschau
-# Default: keine URL, die Kartenvorschau ist nicht verfügbar
-# XPlanValidatorWMS is deprecated and will be removed in a future version
-validatorWmsEndpoint=
diff --git a/xplan-database/xplan-database-docker/Dockerfile b/xplan-database/xplan-database-docker/Dockerfile
index 26e9779a1..6bcfcb9f6 100644
--- a/xplan-database/xplan-database-docker/Dockerfile
+++ b/xplan-database/xplan-database-docker/Dockerfile
@@ -1,5 +1,5 @@
-# latest postgis/postgis:14-3.4 on 24.09.24
-FROM postgis/postgis@sha256:70e61250ca30ae0b18bebf1a528b026e39f99a55d276f3daa5eac3a7ed15f3e9
+# latest postgis/postgis:15-3.4 on 10.12.24
+FROM postgis/postgis@sha256:3f4a5d48e0be9580ed70ed618cd039ce57bbb2dd113053d3836e28513f1f87cd
 
 ARG BUILD_DATE=?
 ARG DOCKER_IMAGE_NAME=?
diff --git a/xplan-docker/xplan-docker-volume-init/setupVolumes.sh b/xplan-docker/xplan-docker-volume-init/setupVolumes.sh
index 127dc2b50..2c6fe0ec9 100755
--- a/xplan-docker/xplan-docker-volume-init/setupVolumes.sh
+++ b/xplan-docker/xplan-docker-volume-init/setupVolumes.sh
@@ -45,8 +45,7 @@ fi
 cp -r /xplan-volume-init/xplan-docker-volumes/* $XPLANBOX_VOLUMES
 chmod -R a+w $XPLANBOX_VOLUMES/*
 
-XPLAN_WMS_URL_PUBLIC="${XPLAN_WMS_URL_PUBLIC:-tobedefined}"
-XPLAN_VALIDATORWMS_URL_PUBLIC="${XPLAN_VALIDATORWMS_URL_PUBLIC:-tobedefined}"
+XPLAN_GATEWAY_URL_PUBLIC="${XPLAN_GATEWAY_URL_PUBLIC:-tobedefined}"
 XPLAN_MANAGERAPI_URL_PUBLIC=${XPLAN_MANAGERAPI_URL_PUBLIC:-xplan-manager-api}
 XPLAN_VALIDATORAPI_URL_PUBLIC=${XPLAN_VALIDATORAPI_URL_PUBLIC:-xplan-validator-api}
 XPLAN_DOKUMENTEAPI_URL_PUBLIC=${XPLAN_DOKUMENTEAPI_URL_PUBLIC:-xplan-dokumente-api}
@@ -99,11 +98,9 @@ cd $XPLANBOX_VOLUMES
 sed -i 's|apiUrl=|apiUrl='$XPLAN_VALIDATORAPI_URL_PUBLIC'|g' xplan-validator-config/validatorApiConfiguration.properties
 sed -i 's|apiUrl=|apiUrl='$XPLAN_MANAGERAPI_URL_PUBLIC'|g' xplan-manager-config/managerApiConfiguration.properties
 sed -i 's|apiUrl=|apiUrl='$XPLAN_DOKUMENTEAPI_URL_PUBLIC'|g' xplan-dokumente-config/dokumenteApiConfiguration.properties
-sed -i 's|wmsUrl=|wmsUrl='$XPLAN_WMS_URL_PUBLIC'/xplan-wms|g' xplan-manager-config/managerApiConfiguration.properties
 sed -i 's|workspaceReloadUrls=|workspaceReloadUrls='$XPLAN_SERVICES_URL_INTERNAL'/xplan-wms|g' xplan-manager-config/managerConfiguration.properties
 sed -i 's/workspaceReloadApiKey=/workspaceReloadApiKey='$XPLAN_SERVICES_API_KEY'/g' xplan-manager-config/managerConfiguration.properties
 sed -i 's/pathToHaleCli=/pathToHaleCli=\/hale\/bin\/hale/g' xplan-manager-config/managerConfiguration.properties
-sed -i 's|http://localhost:8080|'$XPLAN_WMS_URL_PUBLIC'|g' xplan-manager-config/managerWebConfiguration.properties
 
 if [ $XPLAN_INIT_INSPIREPLU = "enabled" ]
 then
@@ -122,7 +119,7 @@ sed -i 's|localhost:5432/xplanbox|'$XPLAN_DB'|g' xplan-workspaces/xplan-manager-
 sed -i 's|name="username" value="xplanbox"|name="username" value="'$XPLAN_DB_USER'"|g' xplan-workspaces/xplan-manager-workspace/jdbc/inspireplucp.xml
 sed -i 's|name="password" value="xplanbox"|name="password" value="'$XPLAN_DB_PASSWORD'"|g' xplan-workspaces/xplan-manager-workspace/jdbc/inspireplucp.xml
 
-sed -i 's|http://localhost:8080/xplan-wms|'$XPLAN_WMS_URL_PUBLIC'/xplan-wms|g' xplan-workspaces/xplan-services-wms-workspace/services/html.gfi
+sed -i 's|http://localhost:8080/xplan-ows|'$XPLAN_GATEWAY_URL_PUBLIC'/xplan-ows|g' xplan-workspaces/xplan-services-wms-workspace/services/html.gfi
 
 sed -i 's|localhost:5432/xplanbox|'$XPLAN_DB'|g' xplan-inspireplu-workspaces/xplan-webservices-inspireplu-workspace/jdbc/inspireplu.xml
 sed -i 's|name="username" value="xplanbox"|name="username" value="'$XPLAN_DB_USER'"|g' xplan-inspireplu-workspaces/xplan-webservices-inspireplu-workspace/jdbc/inspireplu.xml
@@ -191,8 +188,6 @@ echo $XPLAN_SERVICES_API_KEY >> xplan-workspaces/config.apikey
 echo "[$(date -Iseconds)] Configure rastertype mapserver"
 sed -i 's|http://localhost:8080/mapserver|'$XPLAN_MAPSERVER_URL_INTERNAL'/mapserver|g' xplan-workspaces/xplan-services-wms-workspace/datasources/remoteows/mapserver.xml
 
-sed -i 's|validatorWmsEndpoint=|validatorWmsEndpoint='$XPLAN_VALIDATORWMS_URL_PUBLIC'\/xplan-validator-wms\/services\/wms|g' xplan-validator-config/validatorConfiguration.properties
-
 #copy example external codelist
 XPLAN_INIT_EXAMPLE_CODELIST="${XPLAN_INIT_EXAMPLE_CODELIST:-disabled}"
 if [ $XPLAN_INIT_EXAMPLE_CODELIST = "enabled" ]
diff --git a/xplan-gateway/README.md b/xplan-gateway/README.md
index 065d6da8c..f389843eb 100644
--- a/xplan-gateway/README.md
+++ b/xplan-gateway/README.md
@@ -17,4 +17,5 @@ Folgende Umgebungsvariable können für die Konfiguration der Anwendung verwende
 - `LOG4J_LAYOUT`: das Logging Format `plain` oder `json` (Default: `plain`)
 - `XPLAN_MAPSERVER_URL_INTERNAL`: die interne root Url von `xplan-mapserver` (Default: `http://xplan-mapserver:8080`)
 - `XPLAN_MAPPROXY_URL_INTERNAL`: die interne root Url von `xplan-mapproxy` (Default: `http://xplan-mapproxy:8080`)
-- `XPLAN_SERVICES_URL_INTERNAL`: die internre root Url von `xplan-services` (Default: `http://xplan-services`)
+- `XPLAN_SERVICES_URL_INTERNAL`: die interne root Url von `xplan-services` (Default: `http://xplan-services`)
+- `XPLAN_VALIDATOR_WMS_URL_INTERNAL`: die interne root Url von `xplan-services` (Default: `http://xplan-validator-wms:8080`)
diff --git a/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/CaseInsensitiveQueryRoutePredicateFactory.java b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/CaseInsensitiveQueryRoutePredicateFactory.java
new file mode 100644
index 000000000..801cc10b9
--- /dev/null
+++ b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/CaseInsensitiveQueryRoutePredicateFactory.java
@@ -0,0 +1,109 @@
+package de.latlon.xplanbox.gateway;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Predicate;
+
+import jakarta.validation.constraints.NotEmpty;
+import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory;
+import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.server.ServerWebExchange;
+
+/**
+ * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz</a>
+ * @since 8.0
+ */
+@Component
+public class CaseInsensitiveQueryRoutePredicateFactory
+		extends AbstractRoutePredicateFactory<CaseInsensitiveQueryRoutePredicateFactory.Config> {
+
+	public CaseInsensitiveQueryRoutePredicateFactory() {
+		super(Config.class);
+	}
+
+	public List<String> shortcutFieldOrder() {
+		return Arrays.asList("param", "regexp");
+	}
+
+	public Predicate<ServerWebExchange> apply(final Config config) {
+		return new GatewayPredicate() {
+			public boolean test(ServerWebExchange exchange) {
+				if (!StringUtils.hasText(config.regexp)) {
+					return exchange.getRequest().getQueryParams().containsKey(config.param);
+				}
+				else {
+					List<String> headerValues = retrieveHeaderValuesCaseInsensitive(exchange);
+					if (headerValues == null) {
+						return false;
+					}
+					else {
+						Iterator<String> headerValueIterator = headerValues.iterator();
+						String value;
+						do {
+							if (!headerValueIterator.hasNext()) {
+								return false;
+							}
+							value = headerValueIterator.next();
+						}
+						while (value == null || !value.matches(config.regexp));
+						return true;
+					}
+				}
+			}
+
+			private List<String> retrieveHeaderValuesCaseInsensitive(ServerWebExchange exchange) {
+				Optional<String> key = exchange.getRequest()
+					.getQueryParams()
+					.keySet()
+					.stream()
+					.filter(k -> k.equalsIgnoreCase(config.param))
+					.findFirst();
+				return key.map(k -> exchange.getRequest().getQueryParams().get(k)).orElse(null);
+			}
+
+			public Object getConfig() {
+				return config;
+			}
+
+			public String toString() {
+				return String.format("Query: param=%s regexp=%s", config.getParam(), config.getRegexp());
+			}
+		};
+	}
+
+	@Validated
+	public static class Config {
+
+		private @NotEmpty String param;
+
+		private String regexp;
+
+		public Config() {
+		}
+
+		public String getParam() {
+			return this.param;
+		}
+
+		public Config setParam(String param) {
+			this.param = param;
+			return this;
+		}
+
+		public String getRegexp() {
+			return this.regexp;
+		}
+
+		public Config setRegexp(String regexp) {
+			this.regexp = regexp;
+			return this;
+		}
+
+	}
+
+}
diff --git a/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/Configuration.java b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/Configuration.java
index 1f881cd9a..c26d74999 100644
--- a/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/Configuration.java
+++ b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/Configuration.java
@@ -23,13 +23,16 @@ package de.latlon.xplanbox.gateway;
 import java.net.URI;
 import java.util.function.Function;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.gateway.handler.AsyncPredicate;
 import org.springframework.cloud.gateway.route.Route;
 import org.springframework.cloud.gateway.route.RouteLocator;
 import org.springframework.cloud.gateway.route.builder.Buildable;
 import org.springframework.cloud.gateway.route.builder.PredicateSpec;
 import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
 import org.springframework.context.annotation.Bean;
+import org.springframework.web.server.ServerWebExchange;
 
 /**
  * @author <a href="mailto:guillemot@lat-lon.de">Marc Guillemot</a>
@@ -46,10 +49,31 @@ public class Configuration {
 	@Value("${xplanbox.gateway.rewrite.backend.xplan-services.uri}")
 	private URI backendXplanServices;
 
+	@Value("${xplanbox.gateway.rewrite.backend.xplan-validator-wms.uri}")
+	private URI backendXplanValidatorWms;
+
+	@Autowired
+	private CaseInsensitiveQueryRoutePredicateFactory caseInsensitiveQueryRoutePredicateFactory;
+
 	@Bean
 	public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
 		return builder.routes()
+			// xplan-validator-wms:
+			// /xplan-ows/validator?SERVICE=WMS -> /xplan-validator-wms/services/wms
+			.route("/xplan-ows/validator?SERVICE=WMS -> /xplan-validator-wms/services/wms",
+					r -> r.asyncPredicate(caseInsensitiveServiceParam("WMS"))
+						.and()
+						.path("/xplan-ows/validator")
+						.filters(f -> f.rewritePath("/xplan-ows/validator", "/xplan-validator-wms/services/wms"))
+						.uri(backendXplanValidatorWms))
+
 			// xplan-services:
+			// getAttachment - temporal route until GetAttachmentHandler is removed
+			// /xplan-ows/getAttachment -> /xplan-wms/getAttachment
+			.route("/xplan-ows/getAttachment -> /xplan-wms/getAttachment",
+					r -> r.path("/xplan-ows/getAttachment")
+						.filters(f -> f.rewritePath("/xplan-ows/getAttachment", "/xplan-wms/getAttachment"))
+						.uri(backendXplanServices))
 			// /xplan-ows/syn?SERVICE=WMS -> /xplan-wms/services/wms
 			.route("/xplan-ows/syn?SERVICE=WMS -> /xplan-wms/services/wms",
 					pathWithWmsServiceToUri("/xplan-ows/syn", "/xplan-wms/services/wms"))
@@ -57,7 +81,7 @@ public class Configuration {
 			.route("/xplan-ows/syn-pre?SERVICE=WMS -> /xplan-wms/services/wmspre",
 					pathWithWmsServiceToUri("/xplan-ows/syn-pre", "/xplan-wms/services/wmspre"))
 			// /xplan-ows/syn-archive?SERVICE=WMS-> /xplan-wms/services/wmsarchive
-			.route("/xplan-ows/syn-archive?SERVICE=WMS-> /xplan-wms/services/wmsarchive",
+			.route("/xplan-ows/syn-archive?SERVICE=WMS -> /xplan-wms/services/wmsarchive",
 					pathWithWmsServiceToUri("/xplan-ows/syn-archive", "/xplan-wms/services/wmsarchive"))
 			// /xplan-ows/syn/planart/bp?SERVICE=WMS -> /xplan-wms/services/bpwms (analog:
 			// fpwms, lpwms, rpwms, sowms)
@@ -101,21 +125,30 @@ public class Configuration {
 			// /xplan-ows/syn/planwerk/{planName}?SERVICE=WMS ->
 			// /xplan-wms/services/planwerkwms/planname/{planName}
 			.route("/xplan-ows/syn/planwerk/{planName}?SERVICE=WMS -> /xplan-wms/services/planwerkwms/planname/{planName}",
-					r -> r.path("/xplan-ows/syn/planwerk/*")
+					r -> r.asyncPredicate(caseInsensitiveServiceParam("WMS"))
 						.and()
-						.query("SERVICE", "WMS")
+						.path("/xplan-ows/syn/planwerk/*")
 						.filters(f -> f.rewritePath("/xplan-ows/syn/planwerk/(?<planName>.*)",
 								"/xplan-wms/services/planwerkwms/planname/${planName}")) //
 						.uri(backendXplanServices))
 			// /xplan-ows/syn-pre/planwerk/{planName}?SERVICE=WMS ->
 			// /xplan-wms/services/planwerkwmspre/planname/{planName}
 			.route("/xplan-ows/syn-pre/planwerk/{planName}?SERVICE=WMS -> /xplan-wms/services/planwerkwmspre/planname/{planName}",
-					r -> r.path("/xplan-ows/syn-pre/planwerk/*")
+					r -> r.asyncPredicate(caseInsensitiveServiceParam("WMS"))
 						.and()
-						.query("SERVICE", "WMS")
+						.path("/xplan-ows/syn-pre/planwerk/*")
 						.filters(f -> f.rewritePath("/xplan-ows/syn-pre/planwerk/(?<planName>.*)",
 								"/xplan-wms/services/planwerkwmspre/planname/${planName}")) //
 						.uri(backendXplanServices))
+			// /xplan-ows/syn-archive/planwerk/{planName}?SERVICE=WMS ->
+			// /xplan-wms/services/planwerkwmsarchive/planname/{planName}
+			.route("/xplan-ows/syn-archive/planwerk/{planName}?SERVICE=WMS -> /xplan-wms/services/planwerkwmsarchive/planname/{planName}",
+					r -> r.asyncPredicate(caseInsensitiveServiceParam("WMS"))
+						.and()
+						.path("/xplan-ows/syn-archive/planwerk/*")
+						.filters(f -> f.rewritePath("/xplan-ows/syn-archive/planwerk/(?<planName>.*)",
+								"/xplan-wms/services/planwerkwmsarchive/planname/${planName}")) //
+						.uri(backendXplanServices))
 
 			// /xplan-ows/syn?SERVICE=WFS -> /xplansyn-wfs/services/xplansynwfs
 			.route("/xplan-ows/syn?SERVICE=WFS -> /xplansyn-wfs/services/xplansynwfs",
@@ -225,19 +258,23 @@ public class Configuration {
 	}
 
 	private Function<PredicateSpec, Buildable<Route>> pathWithWmsServiceToUri(String path, String newPath) {
-		return r -> r.path(path)
+		return r -> r.asyncPredicate(caseInsensitiveServiceParam("WMS"))
 			.and()
-			.query("SERVICE", "WMS") //
-			.filters(f -> f.rewritePath(path, newPath)) //
+			.path(path)
+			.filters(f -> f.rewritePath(path, newPath))
 			.uri(backendXplanServices);
 	}
 
 	private Function<PredicateSpec, Buildable<Route>> pathWithWfsServiceToUri(String path, String newPath) {
-		return r -> r.path(path)
+		return r -> r.asyncPredicate(caseInsensitiveServiceParam("WFS"))
 			.and()
-			.query("SERVICE", "WFS") //
-			.filters(f -> f.rewritePath(path, newPath)) //
+			.path(path)
+			.filters(f -> f.rewritePath(path, newPath))
 			.uri(backendXplanServices);
 	}
 
+	private AsyncPredicate<ServerWebExchange> caseInsensitiveServiceParam(String WMS) {
+		return caseInsensitiveQueryRoutePredicateFactory.applyAsync((c) -> c.setParam("SERVICE").setRegexp(WMS));
+	}
+
 }
diff --git a/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/XPlanGatewayApplication.java b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/XPlanGatewayApplication.java
index 14bb9fa78..6a5b6fd03 100644
--- a/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/XPlanGatewayApplication.java
+++ b/xplan-gateway/src/main/java/de/latlon/xplanbox/gateway/XPlanGatewayApplication.java
@@ -29,7 +29,7 @@ import org.springframework.context.annotation.Import;
  * @since 8.0
  */
 @SpringBootApplication
-@Import(Configuration.class)
+@Import({ Configuration.class, CaseInsensitiveQueryRoutePredicateFactory.class })
 public class XPlanGatewayApplication {
 
 	public static void main(String[] args) {
diff --git a/xplan-gateway/src/main/resources/application.properties b/xplan-gateway/src/main/resources/application.properties
index 8ea924ecf..a4d341cd5 100644
--- a/xplan-gateway/src/main/resources/application.properties
+++ b/xplan-gateway/src/main/resources/application.properties
@@ -26,3 +26,4 @@ spring.main.banner-mode=off
 xplanbox.gateway.rewrite.backend.xplan-mapserver.uri=${XPLAN_MAPSERVER_URL_INTERNAL:http://xplan-mapserver:8080}
 xplanbox.gateway.rewrite.backend.xplan-mapproxy.uri=${XPLAN_MAPPROXY_URL_INTERNAL:http://xplan-mapproxy:8080}
 xplanbox.gateway.rewrite.backend.xplan-services.uri=${XPLAN_SERVICES_URL_INTERNAL:http://xplan-services}
+xplanbox.gateway.rewrite.backend.xplan-validator-wms.uri=${XPLAN_VALIDATOR_WMS_URL_INTERNAL:http://xplan-validator-wms:8080}
diff --git a/xplan-gateway/src/test/java/de/latlon/xplanbox/gateway/ConfigurationTest.java b/xplan-gateway/src/test/java/de/latlon/xplanbox/gateway/ConfigurationTest.java
index 7eb613f08..f0926a0ad 100644
--- a/xplan-gateway/src/test/java/de/latlon/xplanbox/gateway/ConfigurationTest.java
+++ b/xplan-gateway/src/test/java/de/latlon/xplanbox/gateway/ConfigurationTest.java
@@ -7,6 +7,7 @@ import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.sun.net.httpserver.HttpServer;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
@@ -20,8 +21,6 @@ import org.springframework.test.context.DynamicPropertyRegistry;
 import org.springframework.test.context.DynamicPropertySource;
 import org.springframework.test.web.reactive.server.WebTestClient;
 
-import com.sun.net.httpserver.HttpServer;
-
 /**
  * Inspired from https://www.baeldung.com/spring-cloud-gateway-url-rewriting
  */
@@ -73,11 +72,10 @@ class ConfigurationTest {
 
 	@DynamicPropertySource
 	static void registerBackendServer(DynamicPropertyRegistry registry) {
-
 		startAndRegister(registry, "xplan-mapserver");
 		startAndRegister(registry, "xplan-mapproxy");
 		startAndRegister(registry, "xplan-services");
-
+		startAndRegister(registry, "xplan-validator-wms");
 	}
 
 	private static void startAndRegister(DynamicPropertyRegistry registry, String serviceName) {
@@ -93,35 +91,52 @@ class ConfigurationTest {
 		mockServers.forEach((s) -> s.stop(1));
 	}
 
+	// /xplan-ows/validator?SERVICE=WMS -> /xplan-validator-wms/services/wms
+	@Test
+	void servicesValidatorWms() {
+		testForward(
+				"/xplan-ows/validator?SERVICE=WMS -> [xplan-validator-wms]/xplan-validator-wms/services/wms?SERVICE=WMS");
+		testForward(
+				"/xplan-ows/validator?SERVicE=WMS&foo=123 -> [xplan-validator-wms]/xplan-validator-wms/services/wms?SERVicE=WMS&foo=123");
+	}
+
+	// /xplan-ows/getAttachment -> [xplan-services]/xplan-wms/getAttachment
+	@Test
+	void servicesGetAttachment() {
+		testForward("/xplan-ows/getAttachment -> [xplan-services]/xplan-wms/getAttachment");
+	}
+
 	// /xplan-ows/syn?SERVICE=WMS -> [xplan-services]/xplan-wms/services/wms
 	@Test
 	void servicesSynWms() {
 		testForward("/xplan-ows/syn?SERVICE=WMS -> [xplan-services]/xplan-wms/services/wms?SERVICE=WMS");
 		testForward(
-				"/xplan-ows/syn?SERVICE=WMS&foo=123 -> [xplan-services]/xplan-wms/services/wms?SERVICE=WMS&foo=123");
+				"/xplan-ows/syn?ServICE=WMS&foo=123 -> [xplan-services]/xplan-wms/services/wms?ServICE=WMS&foo=123");
 	}
 
 	// /xplan-ows/syn-pre?SERVICE=WMS -> [xplan-services]/xplan-wms/services/wmspre
 	@Test
 	void servicesSynWmsPreWms() {
 		testForward("/xplan-ows/syn-pre?SERVICE=WMS -> [xplan-services]/xplan-wms/services/wmspre?SERVICE=WMS");
+		testForward("/xplan-ows/syn-pre?service=WMS -> [xplan-services]/xplan-wms/services/wmspre?service=WMS");
 	}
 
 	// /xplan-ows/syn-archive?SERVICE=WMS-> [xplan-services]/xplan-wms/services/wmsarchive
 	@Test
 	void servicesSynWmsArchiveWms() {
 		testForward("/xplan-ows/syn-archive?SERVICE=WMS -> [xplan-services]/xplan-wms/services/wmsarchive?SERVICE=WMS");
+		testForward("/xplan-ows/syn-archive?SErvICE=WMS -> [xplan-services]/xplan-wms/services/wmsarchive?SErvICE=WMS");
 	}
 
 	// /xplan-ows/syn/planart/bp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/bpwms
 	// (analog: fpwms, lpwms, rpwms, sowms)
 	@Test
 	void servicesSynWmsPlanart() {
-		testForward("/xplan-ows/syn/planart/bp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/bpwms?SERVICE=WMS");
-		testForward("/xplan-ows/syn/planart/fp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/fpwms?SERVICE=WMS");
-		testForward("/xplan-ows/syn/planart/lp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/lpwms?SERVICE=WMS");
-		testForward("/xplan-ows/syn/planart/rp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/rpwms?SERVICE=WMS");
-		testForward("/xplan-ows/syn/planart/so?SERVICE=WMS -> [xplan-services]/xplan-wms/services/sowms?SERVICE=WMS");
+		testForward("/xplan-ows/syn/planart/bp?sERVICE=WMS -> [xplan-services]/xplan-wms/services/bpwms?sERVICE=WMS");
+		testForward("/xplan-ows/syn/planart/fp?SeRVICE=WMS -> [xplan-services]/xplan-wms/services/fpwms?SeRVICE=WMS");
+		testForward("/xplan-ows/syn/planart/lp?SErVICE=WMS -> [xplan-services]/xplan-wms/services/lpwms?SErVICE=WMS");
+		testForward("/xplan-ows/syn/planart/rp?SERvICE=WMS -> [xplan-services]/xplan-wms/services/rpwms?SERvICE=WMS");
+		testForward("/xplan-ows/syn/planart/so?SERVicE=WMS -> [xplan-services]/xplan-wms/services/sowms?SERVicE=WMS");
 	}
 
 	// /xplan-ows/syn-pre/planart/bp?SERVICE=WMS ->
@@ -130,15 +145,15 @@ class ConfigurationTest {
 	@Test
 	void servicesSynPreWmsPlanart() {
 		testForward(
-				"/xplan-ows/syn-pre/planart/bp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/bpwmspre?SERVICE=WMS");
+				"/xplan-ows/syn-pre/planart/bp?SERVICe=WMS -> [xplan-services]/xplan-wms/services/bpwmspre?SERVICe=WMS");
 		testForward(
-				"/xplan-ows/syn-pre/planart/fp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/fpwmspre?SERVICE=WMS");
+				"/xplan-ows/syn-pre/planart/fp?SERVIcE=WMS -> [xplan-services]/xplan-wms/services/fpwmspre?SERVIcE=WMS");
 		testForward(
-				"/xplan-ows/syn-pre/planart/lp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/lpwmspre?SERVICE=WMS");
+				"/xplan-ows/syn-pre/planart/lp?SERViCE=WMS -> [xplan-services]/xplan-wms/services/lpwmspre?SERViCE=WMS");
 		testForward(
-				"/xplan-ows/syn-pre/planart/rp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/rpwmspre?SERVICE=WMS");
+				"/xplan-ows/syn-pre/planart/rp?SERvICE=WMS -> [xplan-services]/xplan-wms/services/rpwmspre?SERvICE=WMS");
 		testForward(
-				"/xplan-ows/syn-pre/planart/so?SERVICE=WMS -> [xplan-services]/xplan-wms/services/sowmspre?SERVICE=WMS");
+				"/xplan-ows/syn-pre/planart/so?SErVICE=WMS -> [xplan-services]/xplan-wms/services/sowmspre?SErVICE=WMS");
 	}
 
 	// /xplan-ows/syn-archive/planart/bp?SERVICE=WMS ->
@@ -149,7 +164,7 @@ class ConfigurationTest {
 		testForward(
 				"/xplan-ows/syn-archive/planart/bp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/bpwmsarchive?SERVICE=WMS");
 		testForward(
-				"/xplan-ows/syn-archive/planart/fp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/fpwmsarchive?SERVICE=WMS");
+				"/xplan-ows/syn-archive/planart/fp?service=WMS -> [xplan-services]/xplan-wms/services/fpwmsarchive?service=WMS");
 		testForward(
 				"/xplan-ows/syn-archive/planart/lp?SERVICE=WMS -> [xplan-services]/xplan-wms/services/lpwmsarchive?SERVICE=WMS");
 		testForward(
@@ -164,6 +179,8 @@ class ConfigurationTest {
 	void servicesSynWmsPlanwerk() {
 		testForward(
 				"/xplan-ows/syn/planwerk/foo?SERVICE=WMS -> [xplan-services]/xplan-wms/services/planwerkwms/planname/foo?SERVICE=WMS");
+		testForward(
+				"/xplan-ows/syn/planwerk/foo?service=WMS -> [xplan-services]/xplan-wms/services/planwerkwms/planname/foo?service=WMS");
 	}
 
 	// /xplan-ows/syn-pre/planwerk/{planName}?SERVICE=WMS ->
@@ -172,12 +189,25 @@ class ConfigurationTest {
 	void servicesSynPreWmsPlanwerk() {
 		testForward(
 				"/xplan-ows/syn-pre/planwerk/foo?SERVICE=WMS -> [xplan-services]/xplan-wms/services/planwerkwmspre/planname/foo?SERVICE=WMS");
+		testForward(
+				"/xplan-ows/syn-pre/planwerk/foo?SERviCE=WMS -> [xplan-services]/xplan-wms/services/planwerkwmspre/planname/foo?SERviCE=WMS");
+	}
+
+	// /xplan-ows/syn-archive/planwerk/{planName}?SERVICE=WMS ->
+	// [xplan-services]/xplan-wms/services/planwerkwmsarchive/planname/{planName}
+	@Test
+	void servicesSynArchiveWmsPlanwerk() {
+		testForward(
+				"/xplan-ows/syn-archive/planwerk/foo?SERVICE=WMS -> [xplan-services]/xplan-wms/services/planwerkwmsarchive/planname/foo?SERVICE=WMS");
+		testForward(
+				"/xplan-ows/syn-archive/planwerk/foo?SERVIce=WMS -> [xplan-services]/xplan-wms/services/planwerkwmsarchive/planname/foo?SERVIce=WMS");
 	}
 
 	// /xplan-ows/syn?SERVICE=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfs
 	@Test
 	void servicesSynWfs() {
 		testForward("/xplan-ows/syn?SERVICE=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfs?SERVICE=WFS");
+		testForward("/xplan-ows/syn?SErVICE=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfs?SErVICE=WFS");
 	}
 
 	// /xplan-ows/syn-pre?SERVICE=WFS ->
@@ -186,6 +216,8 @@ class ConfigurationTest {
 	void servicesSynPreWfs() {
 		testForward(
 				"/xplan-ows/syn-pre?SERVICE=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfspre?SERVICE=WFS");
+		testForward(
+				"/xplan-ows/syn-pre?service=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfspre?service=WFS");
 	}
 
 	// /xplan-ows/syn-archive?SERVICE=WFS ->
@@ -194,6 +226,8 @@ class ConfigurationTest {
 	void servicesSynArchiveWfs() {
 		testForward(
 				"/xplan-ows/syn-archive?SERVICE=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfsarchive?SERVICE=WFS");
+		testForward(
+				"/xplan-ows/syn-archive?SERVice=WFS -> [xplan-services]/xplansyn-wfs/services/xplansynwfsarchive?SERVice=WFS");
 	}
 
 	// /xplan-ows/5.1?SERVICE=WFS etc. -> [xplan-services]/xplan-wfs/services/wfs51
@@ -215,13 +249,13 @@ class ConfigurationTest {
 	// (analog: wfs40pre,wfs41pre,wfs50pre,wfs51pre,wfs52pre,wfs53pre,wfs54pre,wfs60pre)
 	@Test
 	void servicesSynPreVersionWfs() {
-		testForward("/xplan-ows/4.0-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs40pre?SERVICE=WFS");
-		testForward("/xplan-ows/4.1-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs41pre?SERVICE=WFS");
-		testForward("/xplan-ows/5.0-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs50pre?SERVICE=WFS");
-		testForward("/xplan-ows/5.1-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs51pre?SERVICE=WFS");
-		testForward("/xplan-ows/5.2-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs52pre?SERVICE=WFS");
-		testForward("/xplan-ows/5.3-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs53pre?SERVICE=WFS");
-		testForward("/xplan-ows/5.4-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs54pre?SERVICE=WFS");
+		testForward("/xplan-ows/4.0-pre?sERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs40pre?sERVICE=WFS");
+		testForward("/xplan-ows/4.1-pre?SeRVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs41pre?SeRVICE=WFS");
+		testForward("/xplan-ows/5.0-pre?SErVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs50pre?SErVICE=WFS");
+		testForward("/xplan-ows/5.1-pre?SERvICE=WFS -> [xplan-services]/xplan-wfs/services/wfs51pre?SERvICE=WFS");
+		testForward("/xplan-ows/5.2-pre?SERViCE=WFS -> [xplan-services]/xplan-wfs/services/wfs52pre?SERViCE=WFS");
+		testForward("/xplan-ows/5.3-pre?SERVIcE=WFS -> [xplan-services]/xplan-wfs/services/wfs53pre?SERVIcE=WFS");
+		testForward("/xplan-ows/5.4-pre?SERVICe=WFS -> [xplan-services]/xplan-wfs/services/wfs54pre?SERVICe=WFS");
 		testForward("/xplan-ows/6.0-pre?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs60pre?SERVICE=WFS");
 	}
 
@@ -231,19 +265,19 @@ class ConfigurationTest {
 	@Test
 	void servicesSynArchiveVersionWfs() {
 		testForward(
-				"/xplan-ows/4.0-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs40archive?SERVICE=WFS");
+				"/xplan-ows/4.0-archive?sERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs40archive?sERVICE=WFS");
 		testForward(
-				"/xplan-ows/4.1-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs41archive?SERVICE=WFS");
+				"/xplan-ows/4.1-archive?SeRVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs41archive?SeRVICE=WFS");
 		testForward(
-				"/xplan-ows/5.0-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs50archive?SERVICE=WFS");
+				"/xplan-ows/5.0-archive?SErVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs50archive?SErVICE=WFS");
 		testForward(
-				"/xplan-ows/5.1-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs51archive?SERVICE=WFS");
+				"/xplan-ows/5.1-archive?SERvICE=WFS -> [xplan-services]/xplan-wfs/services/wfs51archive?SERvICE=WFS");
 		testForward(
-				"/xplan-ows/5.2-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs52archive?SERVICE=WFS");
+				"/xplan-ows/5.2-archive?SERViCE=WFS -> [xplan-services]/xplan-wfs/services/wfs52archive?SERViCE=WFS");
 		testForward(
-				"/xplan-ows/5.3-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs53archive?SERVICE=WFS");
+				"/xplan-ows/5.3-archive?SERVIcE=WFS -> [xplan-services]/xplan-wfs/services/wfs53archive?SERVIcE=WFS");
 		testForward(
-				"/xplan-ows/5.4-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs54archive?SERVICE=WFS");
+				"/xplan-ows/5.4-archive?SERVICe=WFS -> [xplan-services]/xplan-wfs/services/wfs54archive?SERVICe=WFS");
 		testForward(
 				"/xplan-ows/6.0-archive?SERVICE=WFS -> [xplan-services]/xplan-wfs/services/wfs60archive?SERVICE=WFS");
 	}
diff --git a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/PlanInfoBuilder.java b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/PlanInfoBuilder.java
index 2dea72d5a..3191335f5 100644
--- a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/PlanInfoBuilder.java
+++ b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/PlanInfoBuilder.java
@@ -202,8 +202,8 @@ public class PlanInfoBuilder {
 			});
 		}
 
-		if (managerApiConfiguration.getWmsUrl() != null) {
-			Link planwerkWmsLink = createWmsEndpointUrl();
+		if (managerApiConfiguration.getXPlanGatewayUrl() != null) {
+			Link planwerkWmsLink = createWmsEndpointUrl(managerApiConfiguration.getXPlanGatewayUrl());
 			if (planwerkWmsLink != null)
 				links.add(planwerkWmsLink);
 		}
@@ -232,17 +232,10 @@ public class PlanInfoBuilder {
 		return null;
 	}
 
-	private Link createWmsEndpointUrl() {
+	private Link createWmsEndpointUrl(URI xplanGatewayUrl) {
 		try {
-			URIBuilder uriBuilder = new URIBuilder(managerApiConfiguration.getWmsUrl());
-			List<String> pathSegments = new ArrayList<>();
-			pathSegments.addAll(uriBuilder.getPathSegments());
-			pathSegments.add("services");
-			pathSegments.add(detectService());
-			pathSegments.add("planname");
-			pathSegments.add(xPlan.getName().replace("/", ""));
-			pathSegments.remove("");
-			uriBuilder.setPathSegments(pathSegments);
+			URIBuilder uriBuilder = new URIBuilder(xplanGatewayUrl);
+			uriBuilder.setPathSegments(createPathSegments(uriBuilder));
 			URI planwerkWmsRef = uriBuilder.build();
 			return (Link) new Link().rel(PLANWERKWMS).href(planwerkWmsRef).title(xPlan.getName());
 		}
@@ -252,6 +245,17 @@ public class PlanInfoBuilder {
 		return null;
 	}
 
+	private List<String> createPathSegments(URIBuilder uriBuilder) {
+		List<String> pathSegments = new ArrayList<>(uriBuilder.getPathSegments());
+		// /xplan-ows/syn/planwerk/{planName}
+		pathSegments.add("xplan-ows");
+		pathSegments.add(detectSynPathSegmentWithPlanStatus());
+		pathSegments.add("planwerk");
+		pathSegments.add(xPlan.getName().replace("/", ""));
+		pathSegments.remove("");
+		return pathSegments;
+	}
+
 	private PlanInfoBbox bbox() {
 		XPlanEnvelope bbox = xPlan.getBbox();
 		if (bbox != null)
@@ -263,15 +267,15 @@ public class PlanInfoBuilder {
 		return null;
 	}
 
-	private String detectService() {
+	private String detectSynPathSegmentWithPlanStatus() {
 		if (xPlan.getPlanStatus() != null)
 			switch (xPlan.getPlanStatus()) {
 				case ARCHIVIERT:
-					return "planwerkwmsarchive";
+					return "syn-archive";
 				case IN_AUFSTELLUNG:
-					return "planwerkwmspre";
+					return "syn-pre";
 			}
-		return "planwerkwms";
+		return "syn";
 	}
 
 }
diff --git a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ApplicationContext.java b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ApplicationContext.java
index cd4cc2fb8..5962461d7 100644
--- a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ApplicationContext.java
+++ b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ApplicationContext.java
@@ -309,9 +309,9 @@ public class ApplicationContext {
 	}
 
 	@Bean
-	public ManagerApiConfiguration managerApiConfiguration(PropertiesLoader managerPropertiesLoader)
-			throws ConfigurationException {
-		return new ManagerApiConfiguration(managerPropertiesLoader);
+	public ManagerApiConfiguration managerApiConfiguration(PropertiesLoader managerPropertiesLoader,
+			@Value("${xplanbox.gateway.url}") String xplanGatewayUrl) throws ConfigurationException {
+		return new ManagerApiConfiguration(managerPropertiesLoader, xplanGatewayUrl);
 	}
 
 	@Bean
diff --git a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ManagerApiConfiguration.java b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ManagerApiConfiguration.java
index 6fe49104e..d8f92aafb 100644
--- a/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ManagerApiConfiguration.java
+++ b/xplan-manager/xplan-manager-api/src/main/java/de/latlon/xplanbox/api/manager/config/ManagerApiConfiguration.java
@@ -38,22 +38,22 @@ public class ManagerApiConfiguration extends ApiConfiguration {
 
 	private static final String MANAGER_API_CONFIGURATION_PROPERTIES = "managerApiConfiguration.properties";
 
-	private static final String WMS_URL = "wmsUrl";
-
-	private URI wmsUrl;
+	private final URI xplanGatewayUrl;
 
 	private DefaultValidationConfiguration defaultValidationConfiguration;
 
-	public ManagerApiConfiguration(PropertiesLoader propertiesLoader) throws ConfigurationException {
+	public ManagerApiConfiguration(PropertiesLoader propertiesLoader, String xplanGatewayUrl)
+			throws ConfigurationException {
 		super(propertiesLoader, MANAGER_API_CONFIGURATION_PROPERTIES);
+		this.xplanGatewayUrl = parseUri(xplanGatewayUrl);
 		logProperties();
 	}
 
 	/**
 	 * @return the configured WMS url, may be <code>null</code>
 	 */
-	public URI getWmsUrl() {
-		return this.wmsUrl;
+	public URI getXPlanGatewayUrl() {
+		return this.xplanGatewayUrl;
 	}
 
 	/**
@@ -65,7 +65,7 @@ public class ManagerApiConfiguration extends ApiConfiguration {
 
 	@Override
 	protected void loadProperties(Properties properties) throws ConfigurationException {
-		wmsUrl = parseUri(properties, WMS_URL);
+
 		defaultValidationConfiguration = parseDefaultValidationConfiguration(properties);
 	}
 
@@ -79,7 +79,7 @@ public class ManagerApiConfiguration extends ApiConfiguration {
 		LOG.info("Configuration of the XPlanManagerApi:");
 		LOG.info("-------------------------------------------");
 		LOG.info("  API URL: {}", getApiUrl());
-		LOG.info("  WMS URL: {}", wmsUrl);
+		LOG.info("  XPlanGateway URL: {}", xplanGatewayUrl);
 		LOG.info("-------------------------------------------");
 		LOG.info("  default validation configuration");
 		LOG.info("   - skip semantisch: {}", defaultValidationConfiguration.isSkipSemantisch());
diff --git a/xplan-manager/xplan-manager-api/src/main/resources/application.properties b/xplan-manager/xplan-manager-api/src/main/resources/application.properties
index 4297b6a58..df0ec93fc 100644
--- a/xplan-manager/xplan-manager-api/src/main/resources/application.properties
+++ b/xplan-manager/xplan-manager-api/src/main/resources/application.properties
@@ -48,4 +48,6 @@ xplanbox.s3.secretKey=${XPLAN_S3_SECRET_ACCESS_KEY}
 xplanbox.validation.profiles=${XPLAN_VALIDATION_PROFILES:}
 xplanbox.s3.bucket.validation=${XPLAN_S3_BUCKET_VALIDATION:validation}
 
-xplanbox.services.crs=${XPLAN_SERVICES_DEFAULT_CRS:EPSG:25832}
\ No newline at end of file
+xplanbox.services.crs=${XPLAN_SERVICES_DEFAULT_CRS:EPSG:25832}
+
+xplanbox.gateway.url=${XPLAN_GATEWAY_URL_PUBLIC:}
\ No newline at end of file
diff --git a/xplan-manager/xplan-manager-api/src/test/java/de/latlon/xplanbox/api/manager/PlanInfoBuilderTest.java b/xplan-manager/xplan-manager-api/src/test/java/de/latlon/xplanbox/api/manager/PlanInfoBuilderTest.java
index 830602514..d18ec385f 100644
--- a/xplan-manager/xplan-manager-api/src/test/java/de/latlon/xplanbox/api/manager/PlanInfoBuilderTest.java
+++ b/xplan-manager/xplan-manager-api/src/test/java/de/latlon/xplanbox/api/manager/PlanInfoBuilderTest.java
@@ -59,7 +59,7 @@ public class PlanInfoBuilderTest {
 			.findFirst();
 		assertThat(planwerkWms.isPresent()).isTrue();
 		assertThat(planwerkWms.get().getHref().toString())
-			.isEqualTo("http://example.org/xplan-services-wms/services/planwerkwms/planname/plan");
+			.isEqualTo("http://xplan-gateway/xplan-ows/syn/planwerk/plan");
 
 		de.latlon.xplanbox.api.manager.v2.model.PlanInfoXplanModelData xplanModelData = planInfo.getXplanModelData();
 		assertThat(xplanModelData.getBereich().get(0).getName()).isEqualTo("testbereich");
@@ -98,8 +98,8 @@ public class PlanInfoBuilderTest {
 
 	private static ManagerApiConfiguration createManagerApiConfiguration() throws URISyntaxException {
 		ManagerApiConfiguration managerApiConfiguration = mock(ManagerApiConfiguration.class);
-		when(managerApiConfiguration.getApiUrl()).thenReturn(new URI("http://example.org/xplan-manager-api"));
-		when(managerApiConfiguration.getWmsUrl()).thenReturn(new URI("http://example.org/xplan-services-wms/"));
+		when(managerApiConfiguration.getApiUrl()).thenReturn(new URI("http://xplan-manager-api/xplan-manager-api"));
+		when(managerApiConfiguration.getXPlanGatewayUrl()).thenReturn(new URI("http://xplan-gateway"));
 		return managerApiConfiguration;
 	}
 
diff --git a/xplan-manager/xplan-manager-config/src/main/resources/managerApiConfiguration.properties b/xplan-manager/xplan-manager-config/src/main/resources/managerApiConfiguration.properties
index cf9f44f8c..0042656a2 100644
--- a/xplan-manager/xplan-manager-config/src/main/resources/managerApiConfiguration.properties
+++ b/xplan-manager/xplan-manager-config/src/main/resources/managerApiConfiguration.properties
@@ -18,7 +18,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # #L%
 ###
-# URL der XPlanManagerAPI, die im OpenAPI Dokument ausgegeben wird und für die Erstellung der self- bzw. alternate-Links verwendet wird
+# URL der XPlanManagerAPI, die im OpenAPI Dokument ausgegeben wird und fuer die Erstellung der self- bzw. alternate-Links verwendet wird
 # Die Angabe ist verpflichtend.
 apiUrl=
 
@@ -31,10 +31,6 @@ termsOfServiceUrl=
 # URL zur Dokumentation der xPlanBox (wenn diese Option fehlt, erfolgt keine Ausgabe)
 documentationUrl=
 
-# URL des XPlanPlanwerkWMS
-# Default: keine URL
-wmsUrl=
-
 # Standard-Validierungslevel
 skipSemantisch=false
 skipGeometrisch=false
diff --git a/xplan-manager/xplan-manager-config/src/main/resources/managerWebConfiguration.properties b/xplan-manager/xplan-manager-config/src/main/resources/managerWebConfiguration.properties
index 551909d1e..7bffc66a7 100644
--- a/xplan-manager/xplan-manager-config/src/main/resources/managerWebConfiguration.properties
+++ b/xplan-manager/xplan-manager-config/src/main/resources/managerWebConfiguration.properties
@@ -29,10 +29,6 @@ activatePublishingInspirePlu=${isPublishingInspirePluActivated}
 hiddenColumns=${hiddenColumns}
 
 ## map preview ##
-wmsUrl=${wmsUrl}
-wmsEndpoint=${wmsEndpoint}
-wmsPreEndpoint=${wmsPreEndpoint}
-wmsArchiveEndpoint=${wmsArchiveEndpoint}
 basemapUrl=${basemapUrl}
 basemapName=${basemapName}
 basemapLayer=${basemapLayer}
diff --git a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtils.java b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtils.java
index 3780bd8cf..2954d64fc 100644
--- a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtils.java
+++ b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtils.java
@@ -8,29 +8,25 @@
  * it under the terms of the GNU Affero 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 Affero General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * #L%
  */
 package de.latlon.xplan.manager.web.client.utils;
 
+import static de.latlon.xplan.manager.web.shared.PlanStatus.ARCHIVIERT;
+import static de.latlon.xplan.manager.web.shared.PlanStatus.IN_AUFSTELLUNG;
+
 import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
 import de.latlon.xplan.manager.web.shared.PlanStatus;
 import org.gwtopenmaps.openlayers.client.Bounds;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-
-import static de.latlon.xplan.manager.web.shared.PlanStatus.ARCHIVIERT;
-import static de.latlon.xplan.manager.web.shared.PlanStatus.IN_AUFSTELLUNG;
-
 /**
  * Contains some useful methods to create WMS urls.
  *
@@ -43,44 +39,48 @@ public final class WmsUrlUtils {
 	}
 
 	/**
-	 * Determines the correct WMS url. If the configured wms url ends with a '?' the
-	 * configured url is returned (plan status is ignored). If the configured wms url ends
-	 * not with 'services' a '?' is appended to the configured url (plan status is
-	 * ignored). Otherwise the correct endpoint and a '?' is appenden.
+	 * Determines the correct XPlanWMS url via XPlanGateway:
+	 * <ul>
+	 * <li>/xplan-ows/syn</li>
+	 * <li>/xplan-ows/syn-pre</li>
+	 * <li>/xplan-ows/syn-archive</li>
+	 * </ul>
 	 * @param planStatus status of the plan, may be <code>null</code> (means
 	 * PlanStatus.FESTGESTELLT)
 	 * @param configuration never <code>null</code>
 	 * @return the url of the wms (ending with a '?'), never <code>null</code>
 	 */
 	public static String determineWmsUrl(PlanStatus planStatus, MapPreviewConfiguration configuration) {
-		String wmsUrl = configuration.getWmsUrl();
-		if (wmsUrl.endsWith("?"))
-			return wmsUrl;
-		if (wmsUrl.endsWith("/"))
-			wmsUrl = wmsUrl.substring(0, wmsUrl.length() - 1);
-		if (!wmsUrl.endsWith("services"))
-			return wmsUrl + "?";
-		String endpointToAdd = detectEndpointToAdd(configuration, planStatus);
-		if (endpointToAdd == null)
-			return wmsUrl + "?";
-		return wmsUrl + "/" + endpointToAdd + "?";
+		String xplanGatewayUrl = retrieveXPlanWerkUrl(configuration);
+		String synStep = detectSynStepToAdd(planStatus);
+		return xplanGatewayUrl + "xplan-ows/" + synStep + "?";
 	}
 
+	/**
+	 * Determines the correct XPlanWerkWMS url via XPlanGateway:
+	 * <ul>
+	 * <li>/xplan-ows/syn/planwerk/{planName}</li>
+	 * <li>/xplan-ows/syn-pre/planwerk/{planName}</li>
+	 * <li>/xplan-ows/syn-archive/planwerk/{planName}</li>
+	 * </ul>
+	 * @param planStatus status of the plan, may be <code>null</code> (means
+	 * PlanStatus.FESTGESTELLT)
+	 * @param configuration never <code>null</code>
+	 * @return the url of the wms (ending with a '?'), never <code>null</code>
+	 */
 	public static String createPlanwerkWmsUrl(String planname, MapPreviewConfiguration configuration,
 			PlanStatus planStatus) {
-		String wmsUrl = determineWmsUrl(null, configuration);
-		int servicesIndex = wmsUrl.lastIndexOf("services");
-		if (servicesIndex < 0)
-			return null;
-		wmsUrl = wmsUrl.substring(0, servicesIndex);
-		StringBuilder planwerkWmsUrl = new StringBuilder();
-		planwerkWmsUrl.append(wmsUrl);
-		planwerkWmsUrl.append("services/");
-		planwerkWmsUrl.append(planwerkWmsPath(planStatus));
-		planwerkWmsUrl.append("/planname/");
-		planwerkWmsUrl.append(planname);
-		planwerkWmsUrl.append("?request=GetCapabilities&service=WMS&version=1.3.0");
-		return planwerkWmsUrl.toString();
+		String xplanGatewayUrl = retrieveXPlanWerkUrl(configuration);
+		String synStep = detectSynStepToAdd(planStatus);
+		return xplanGatewayUrl + "xplan-ows/" + synStep + "/planwerk/" + planname
+				+ "?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0";
+	}
+
+	private static String retrieveXPlanWerkUrl(MapPreviewConfiguration configuration) {
+		String xplanGatewayUrl = configuration.getXPlanGatewayUrl();
+		if (xplanGatewayUrl.endsWith("/"))
+			return xplanGatewayUrl;
+		return xplanGatewayUrl + "/";
 	}
 
 	public static String createUrl(final MapPreviewConfiguration configuration, final String planType,
@@ -102,35 +102,12 @@ public final class WmsUrlUtils {
 		return urlBuilder.toString();
 	}
 
-	private static String planwerkWmsPath(PlanStatus planStatus) {
-		switch (planStatus) {
-			case ARCHIVIERT:
-				return "planwerkwmsarchive";
-			case IN_AUFSTELLUNG:
-				return "planwerkwmspre";
-			default:
-				return "planwerkwms";
-		}
-	}
-
-	private static String detectEndpointToAdd(MapPreviewConfiguration configuration, PlanStatus planStatus) {
-		String wmsEndpoint = configuration.getWmsEndpoint();
-		String wmsPreEndpoint = configuration.getWmsPreEndpoint();
-		String wmsArchiveEndpoint = configuration.getWmsArchiveEndpoint();
-		boolean isWmsEndpointConfigured = isConfigured(wmsEndpoint);
-		boolean isWmsPreEndpointConfigured = isConfigured(wmsPreEndpoint);
-		boolean isWmsArchiveEndpointConfigured = isConfigured(wmsArchiveEndpoint);
-		if (IN_AUFSTELLUNG.equals(planStatus) && isWmsPreEndpointConfigured)
-			return wmsPreEndpoint;
-		if (ARCHIVIERT.equals(planStatus) && isWmsArchiveEndpointConfigured)
-			return wmsArchiveEndpoint;
-		if (isWmsEndpointConfigured)
-			return wmsEndpoint;
-		if (isWmsPreEndpointConfigured)
-			return wmsPreEndpoint;
-		if (isWmsArchiveEndpointConfigured)
-			return wmsArchiveEndpoint;
-		return null;
+	private static String detectSynStepToAdd(PlanStatus planStatus) {
+		if (IN_AUFSTELLUNG.equals(planStatus))
+			return "syn-pre";
+		if (ARCHIVIERT.equals(planStatus))
+			return "syn-archive";
+		return "syn";
 	}
 
 	private static String createLayerValue(String planType) {
@@ -159,8 +136,4 @@ public final class WmsUrlUtils {
 		return bboxBuilder.toString();
 	}
 
-	private static boolean isConfigured(String string) {
-		return string != null && !string.isEmpty();
-	}
-
 }
diff --git a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetriever.java b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetriever.java
index 4bf15d386..13ef0368a 100644
--- a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetriever.java
+++ b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetriever.java
@@ -20,6 +20,10 @@
  */
 package de.latlon.xplan.manager.web.server.configuration;
 
+import static java.lang.Double.parseDouble;
+
+import java.util.Properties;
+
 import de.latlon.xplan.commons.configuration.SystemPropertyPropertiesLoader;
 import de.latlon.xplan.manager.web.shared.ConfigurationException;
 import de.latlon.xplan.manager.web.shared.ManagerWebConfiguration;
@@ -28,10 +32,6 @@ import de.latlon.xplan.manager.web.shared.RasterLayerConfiguration;
 import de.latlon.xplan.manager.web.shared.VectorLayerConfiguration;
 import de.latlon.xplan.validator.web.shared.XPlanEnvelope;
 
-import java.util.Properties;
-
-import static java.lang.Double.parseDouble;
-
 /**
  * Reads the managerWebConfiguration.properties configuration file.
  *
@@ -42,6 +42,8 @@ public class ManagerWebConfigurationRetriever {
 
 	private static final String MANAGER_WEB_CONFIGURATION_PROPERTIES = "managerWebConfiguration.properties";
 
+	public static final String XPLAN_GATEWAY_URL_PUBLIC = "XPLAN_GATEWAY_URL_PUBLIC";
+
 	/**
 	 * Sets up an instance of <link>ManagerWebConfiguration</link>
 	 * @return the web configuration, never <code>null</code>
@@ -82,15 +84,12 @@ public class ManagerWebConfigurationRetriever {
 		String basemapUrl = retrieveMandatoryPropertyValue(props, "basemapUrl");
 		String basemapName = retrieveMandatoryPropertyValue(props, "basemapName");
 		String basemapLayer = retrieveMandatoryPropertyValue(props, "basemapLayer");
-		String wmsUrl = retrieveMandatoryPropertyValue(props, "wmsUrl");
-		String wmsEndpoint = props.getProperty("wmsEndpoint");
-		String wmsPreEndpoint = props.getProperty("wmsPreEndpoint");
-		String wmsArchiveEndpoint = props.getProperty("wmsArchiveEndpoint");
 		XPlanEnvelope maxExtent = parseMaxExtent(props);
 		VectorLayerConfiguration vectorLayerConfiguration = createVectorLayerConfigurationFromProperties(props);
 		RasterLayerConfiguration rasterLayerConfiguration = createRasterLayerConfigurationFromProperties(props);
-		return new MapPreviewConfiguration(basemapUrl, basemapName, basemapLayer, wmsUrl, wmsEndpoint, wmsPreEndpoint,
-				wmsArchiveEndpoint, maxExtent, vectorLayerConfiguration, rasterLayerConfiguration);
+		String wmsUrl = getMandatoryEnv(XPLAN_GATEWAY_URL_PUBLIC);
+		return new MapPreviewConfiguration(basemapUrl, basemapName, basemapLayer, wmsUrl, maxExtent,
+				vectorLayerConfiguration, rasterLayerConfiguration);
 	}
 
 	private VectorLayerConfiguration createVectorLayerConfigurationFromProperties(Properties props)
@@ -117,15 +116,15 @@ public class ManagerWebConfigurationRetriever {
 				soRasterLayer);
 	}
 
-	private boolean parseActivateLegislationStatusDialog(Properties props) throws ConfigurationException {
+	private boolean parseActivateLegislationStatusDialog(Properties props) {
 		return "true".equals(props.getProperty("activateLegislationStatusDialog"));
 	}
 
-	private boolean parseActivateEditor(Properties props) throws ConfigurationException {
+	private boolean parseActivateEditor(Properties props) {
 		return "true".equals(props.getProperty("activateEditor"));
 	}
 
-	private boolean parseActivatePublishingInspirePlu(Properties props) throws ConfigurationException {
+	private boolean parseActivatePublishingInspirePlu(Properties props) {
 		return "true".equals(props.getProperty("activatePublishingInspirePlu"));
 	}
 
@@ -165,4 +164,13 @@ public class ManagerWebConfigurationRetriever {
 		return prop;
 	}
 
+	private static String getMandatoryEnv(String key) throws ConfigurationException {
+		String value = System.getenv(key);
+		if (value == null || value.isBlank())
+			value = System.getProperty(key);
+		if (value == null || value.isBlank())
+			throw new ConfigurationException("Env " + key + " could not be found!");
+		return value;
+	}
+
 }
diff --git a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/service/ManagerWebConfigurationServiceImpl.java b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/service/ManagerWebConfigurationServiceImpl.java
index 6c1143a66..189d00514 100644
--- a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/service/ManagerWebConfigurationServiceImpl.java
+++ b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/server/service/ManagerWebConfigurationServiceImpl.java
@@ -20,6 +20,8 @@
  */
 package de.latlon.xplan.manager.web.server.service;
 
+import static java.lang.String.format;
+
 import com.google.gwt.user.server.rpc.jakarta.XsrfProtectedServiceServlet;
 import de.latlon.xplan.manager.web.client.service.ManagerWebConfigurationService;
 import de.latlon.xplan.manager.web.server.configuration.ManagerWebConfigurationRetriever;
@@ -31,8 +33,6 @@ import de.latlon.xplan.manager.web.shared.VectorLayerConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static java.lang.String.format;
-
 /**
  * Retrieves configuration for manager web and map preview
  *
@@ -102,7 +102,7 @@ public class ManagerWebConfigurationServiceImpl extends XsrfProtectedServiceServ
 		LOG.info("Basemap URL: {}", configuration.getBasemapUrl());
 		LOG.info("Basemap Name: {}", configuration.getBasemapName());
 		LOG.info("Basemap Layer: {}", configuration.getBasemapLayer());
-		LOG.info("XPlan WMS URL: {}", configuration.getWmsUrl());
+		LOG.info("XPlanGateway URL: {}", configuration.getXPlanGatewayUrl());
 		LOG.info("-------------------------------------------");
 	}
 
diff --git a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/shared/MapPreviewConfiguration.java b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/shared/MapPreviewConfiguration.java
index 1765714bf..47493fb38 100644
--- a/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/shared/MapPreviewConfiguration.java
+++ b/xplan-manager/xplan-manager-web/src/main/java/de/latlon/xplan/manager/web/shared/MapPreviewConfiguration.java
@@ -20,10 +20,10 @@
  */
 package de.latlon.xplan.manager.web.shared;
 
-import de.latlon.xplan.validator.web.shared.XPlanEnvelope;
-
 import java.io.Serializable;
 
+import de.latlon.xplan.validator.web.shared.XPlanEnvelope;
+
 /**
  * Encapsulates a map preview configuration
  *
@@ -40,13 +40,7 @@ public class MapPreviewConfiguration implements Serializable {
 
 	private String basemapLayer;
 
-	private String wmsUrl;
-
-	private String wmsEndpoint;
-
-	private String wmsPreEndpoint;
-
-	private String wmsArchiveEndpoint;
+	private String xplanGatewayUrl;
 
 	private XPlanEnvelope mapExtent;
 
@@ -64,35 +58,20 @@ public class MapPreviewConfiguration implements Serializable {
 	 * }&layers={layername}
 	 * @param basemapName the name of the basemap, may be <code>null</code>
 	 * @param basemapLayer the layer of the basemap, never <code>null</code>
-	 * @param wmsUrl the xplan wms url, never <code>null</code> must be of the following
-	 * template format: http://{host}/{service}. If the url ends with '?' or not with
-	 * 'services', the configured url is used as wms url, otherwise the wmsEndpoint or
-	 * wmsPreEndpoint is appended (if configured).
-	 * @param wmsEndpoint endpoint of the default wms, providing the plans with status
-	 * 'FESTGESTELLT', may be <code>null</code> (if the service only provides one wms or
-	 * the wmsUrl is configured as complete endpoint)
-	 * @param wmsPreEndpoint endpoint of the default wms, providing the plans with status
-	 * 'IN_AUFSTELLUNG', may be <code>null</code> (if the service only provides one wms or
-	 * the wmsUrl is configured as complete endpoint)
-	 * @param wmsArchiveEndpoint endpoint of the default wms, providing the plans with
-	 * status 'ARCHIVIERT', may be <code>null</code> (if the service only provides one wms
-	 * or the wmsUrl is configured as complete endpoint)
+	 * @param xplanGatewayUrl the XPlanGateway URL, never <code>null</code>
 	 * @param mapExtent the max extent of the map (with crs), never <code>null</code>
 	 * @param vectorLayerConfiguration the vector layer configuration, never
 	 * <code>null</code>
 	 * @param rasterLayerConfiguration the raster layer configuration, never
 	 * <code>null</code>
 	 */
-	public MapPreviewConfiguration(String basemapUrl, String basemapName, String basemapLayer, String wmsUrl,
-			String wmsEndpoint, String wmsPreEndpoint, String wmsArchiveEndpoint, XPlanEnvelope mapExtent,
-			VectorLayerConfiguration vectorLayerConfiguration, RasterLayerConfiguration rasterLayerConfiguration) {
+	public MapPreviewConfiguration(String basemapUrl, String basemapName, String basemapLayer, String xplanGatewayUrl,
+			XPlanEnvelope mapExtent, VectorLayerConfiguration vectorLayerConfiguration,
+			RasterLayerConfiguration rasterLayerConfiguration) {
 		this.basemapUrl = basemapUrl;
 		this.basemapName = basemapName;
 		this.basemapLayer = basemapLayer;
-		this.wmsUrl = wmsUrl;
-		this.wmsEndpoint = wmsEndpoint;
-		this.wmsPreEndpoint = wmsPreEndpoint;
-		this.wmsArchiveEndpoint = wmsArchiveEndpoint;
+		this.xplanGatewayUrl = xplanGatewayUrl;
 		this.mapExtent = mapExtent;
 		this.vectorLayerConfiguration = vectorLayerConfiguration;
 		this.rasterLayerConfiguration = rasterLayerConfiguration;
@@ -110,20 +89,8 @@ public class MapPreviewConfiguration implements Serializable {
 		return basemapLayer;
 	}
 
-	public String getWmsUrl() {
-		return wmsUrl;
-	}
-
-	public String getWmsEndpoint() {
-		return wmsEndpoint;
-	}
-
-	public String getWmsPreEndpoint() {
-		return wmsPreEndpoint;
-	}
-
-	public String getWmsArchiveEndpoint() {
-		return wmsArchiveEndpoint;
+	public String getXPlanGatewayUrl() {
+		return xplanGatewayUrl;
 	}
 
 	public XPlanEnvelope getMapExtent() {
@@ -148,9 +115,7 @@ public class MapPreviewConfiguration implements Serializable {
 		result = prime * result + ((mapExtent == null) ? 0 : mapExtent.hashCode());
 		result = prime * result + ((rasterLayerConfiguration == null) ? 0 : rasterLayerConfiguration.hashCode());
 		result = prime * result + ((vectorLayerConfiguration == null) ? 0 : vectorLayerConfiguration.hashCode());
-		result = prime * result + ((wmsEndpoint == null) ? 0 : wmsEndpoint.hashCode());
-		result = prime * result + ((wmsPreEndpoint == null) ? 0 : wmsPreEndpoint.hashCode());
-		result = prime * result + ((wmsUrl == null) ? 0 : wmsUrl.hashCode());
+		result = prime * result + ((xplanGatewayUrl == null) ? 0 : xplanGatewayUrl.hashCode());
 		return result;
 	}
 
@@ -199,23 +164,11 @@ public class MapPreviewConfiguration implements Serializable {
 		}
 		else if (!vectorLayerConfiguration.equals(other.vectorLayerConfiguration))
 			return false;
-		if (wmsEndpoint == null) {
-			if (other.wmsEndpoint != null)
-				return false;
-		}
-		else if (!wmsEndpoint.equals(other.wmsEndpoint))
-			return false;
-		if (wmsPreEndpoint == null) {
-			if (other.wmsPreEndpoint != null)
-				return false;
-		}
-		else if (!wmsPreEndpoint.equals(other.wmsPreEndpoint))
-			return false;
-		if (wmsUrl == null) {
-			if (other.wmsUrl != null)
+		if (xplanGatewayUrl == null) {
+			if (other.xplanGatewayUrl != null)
 				return false;
 		}
-		else if (!wmsUrl.equals(other.wmsUrl))
+		else if (!xplanGatewayUrl.equals(other.xplanGatewayUrl))
 			return false;
 		return true;
 	}
diff --git a/xplan-manager/xplan-manager-web/src/main/resources/de/latlon/xplan/manager/web/server/configuration/managerWebConfiguration.properties b/xplan-manager/xplan-manager-web/src/main/resources/de/latlon/xplan/manager/web/server/configuration/managerWebConfiguration.properties
index c16089fa0..593d341e8 100644
--- a/xplan-manager/xplan-manager-web/src/main/resources/de/latlon/xplan/manager/web/server/configuration/managerWebConfiguration.properties
+++ b/xplan-manager/xplan-manager-web/src/main/resources/de/latlon/xplan/manager/web/server/configuration/managerWebConfiguration.properties
@@ -29,10 +29,6 @@ activatePublishingInspirePlu=false
 hiddenColumns=
 
 ## map preview ##
-wmsUrl=http://localhost:8080/xplan-wms/services
-wmsEndpoint=wms
-wmsPreEndpoint=wmspre
-wmsArchiveEndpoint=wmsarchive
 basemapUrl=http://sg.geodatenzentrum.de/wms_dtk250?
 basemapName=Basiskarte
 basemapLayer=dtk250
diff --git a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtilsTest.java b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtilsTest.java
index 73ff249dd..8a966cd3c 100644
--- a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtilsTest.java
+++ b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/client/utils/WmsUrlUtilsTest.java
@@ -26,11 +26,10 @@ import static de.latlon.xplan.manager.web.shared.PlanStatus.IN_AUFSTELLUNG;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.when;
 
+import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
-
 /**
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz</a>
  * @version $Revision: $, $Date: $
@@ -38,195 +37,105 @@ import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
 class WmsUrlUtilsTest {
 
 	@Test
-	void testDetermineWmsUrlWithEndpointAndQuestionmark() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/wms?";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(wmsBaseUrl));
-
-		assertEquals(wmsBaseUrl, wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithEndpoint() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/wms";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusFestgestellt() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfiguration(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusInAufstellung() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services/wmspre?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndNullPlanStatus() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfiguration(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndSlashAndPlanStatusFestgestellt() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfiguration(wmsBaseUrl));
+	void testDetermineWmsUrl_PlanstatusPre() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn-pre?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndSlashAndPlanStatusInAufstellung() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(wmsBaseUrl));
+	void testDetermineWmsUrlWithTrailingSlash_PlanstatusPre() {
+		String xplanGatewayUrl = "http://xplan-gateway/";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wmspre?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn-pre?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndSlashAndNullPlanStatus() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfiguration(wmsBaseUrl));
+	void testDetermineWmsUrl_PlanstatusFestgestellt() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusFestgestelltNoWmsEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfigurationWithoutWmsEndpoint(wmsBaseUrl));
+	void testDetermineWmsUrlWithTrailingSlash_PlanstatusFestgestellt() {
+		String xplanGatewayUrl = "http://xplan-gateway/";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wmspre?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusInAufstellungNoWmsEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfigurationWithoutWmsEndpoint(wmsBaseUrl));
+	void testDetermineWmsUrl_PlanstatusArchiviert() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(ARCHIVIERT, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wmspre?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn-archive?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndNullPlanStatusNoWmsEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfigurationWithoutWmsEndpoint(wmsBaseUrl));
+	void testDetermineWmsUrlWithTrailingSlash_PlanstatusArchiviert() {
+		String xplanGatewayUrl = "http://xplan-gateway/";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(ARCHIVIERT, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wmspre?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn-archive?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusFestgestelltNoWmsPreEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfigurationWithoutWmsPreEndpoint(wmsBaseUrl));
+	void testDetermineWmsUrl_PlanstatusNull() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusInAufstellungNoWmsPreEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfigurationWithoutWmsPreEndpoint(wmsBaseUrl));
+	void testDetermineWmsUrlWithTrailingSlash_PlanstatusNull() {
+		String xplanGatewayUrl = "http://xplan-gateway/";
+		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfiguration(xplanGatewayUrl));
 
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
+		assertEquals("http://xplan-gateway/xplan-ows/syn?", wmsUrl);
 	}
 
 	@Test
-	void testDetermineWmsUrlWithoutEndpointAndNullPlanStatusNoWmsPreEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfigurationWithoutWmsPreEndpoint(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services/wms?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusFestgestelltNoEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(FESTGESTELLT, mockConfigurationWithoutEndpoint(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndPlanStatusInAufstellungNoEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(IN_AUFSTELLUNG, mockConfigurationWithoutEndpoint(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services?", wmsUrl);
-	}
-
-	@Test
-	void testDetermineWmsUrlWithoutEndpointAndNullPlanStatusNoEndpointConfigured() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/";
-		String wmsUrl = WmsUrlUtils.determineWmsUrl(null, mockConfigurationWithoutEndpoint(wmsBaseUrl));
-
-		assertEquals("http://localhost:8080/xplan-wms/services?", wmsUrl);
-	}
-
-	@Test
-	void testCreatePlanwerkWmsUrl() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/wms?";
-		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("PlanName10", mockConfiguration(wmsBaseUrl),
+	void testCreatePlanwerkWmsUrl() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("PlanName10", mockConfiguration(xplanGatewayUrl),
 				ARCHIVIERT);
 
 		assertEquals(
-				"http://localhost:8080/xplan-wms/services/planwerkwmsarchive/planname/PlanName10?request=GetCapabilities&service=WMS&version=1.3.0",
+				"http://xplan-gateway/xplan-ows/syn-archive/planwerk/PlanName10?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0",
 				planwerkWmsUrl);
 	}
 
 	@Test
-	void testCreatePlanwerkWmsUrlReplaceRequired() throws Exception {
-		String wmsBaseUrl = "http://localhost:8080/xplan-wms/services/wms?";
-		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("Plan Name 10 mit /", mockConfiguration(wmsBaseUrl),
-				FESTGESTELLT);
+	void testCreatePlanwerkWmsUrlReplaceRequired() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("Plan Name 10 mit /",
+				mockConfiguration(xplanGatewayUrl), FESTGESTELLT);
 
 		assertEquals(
-				"http://localhost:8080/xplan-wms/services/planwerkwms/planname/Plan Name 10 mit /?request=GetCapabilities&service=WMS&version=1.3.0",
+				"http://xplan-gateway/xplan-ows/syn/planwerk/Plan Name 10 mit /?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0",
 				planwerkWmsUrl);
 	}
 
 	@Test
-	void testCreatePlanwerkWmsUrlReplaceRequiredWithServices() throws Exception {
-		String wmsBaseUrl = "http://xplanservices.xplanbox.de/xplan-wms/services/wms?";
-		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("Plan Name 10 mit /", mockConfiguration(wmsBaseUrl),
-				IN_AUFSTELLUNG);
+	void testCreatePlanwerkWmsUrlReplaceRequiredWithServices() {
+		String xplanGatewayUrl = "http://xplan-gateway";
+		String planwerkWmsUrl = WmsUrlUtils.createPlanwerkWmsUrl("Plan Name 10 mit /",
+				mockConfiguration(xplanGatewayUrl), IN_AUFSTELLUNG);
 
 		assertEquals(
-				"http://xplanservices.xplanbox.de/xplan-wms/services/planwerkwmspre/planname/Plan Name 10 mit /?request=GetCapabilities&service=WMS&version=1.3.0",
+				"http://xplan-gateway/xplan-ows/syn-pre/planwerk/Plan Name 10 mit /?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0",
 				planwerkWmsUrl);
 	}
 
-	private MapPreviewConfiguration mockConfigurationWithoutWmsEndpoint(String wmsUrl) {
-		return mockConfiguration(wmsUrl, null, "wmspre");
-	}
-
-	private MapPreviewConfiguration mockConfigurationWithoutWmsPreEndpoint(String wmsUrl) {
-		return mockConfiguration(wmsUrl, "wms", null);
-	}
-
-	private MapPreviewConfiguration mockConfigurationWithoutEndpoint(String wmsUrl) {
-		return mockConfiguration(wmsUrl, null, null);
-	}
-
-	private MapPreviewConfiguration mockConfiguration(String wmsUrl) {
-		return mockConfiguration(wmsUrl, "wms", "wmspre");
-	}
-
-	private MapPreviewConfiguration mockConfiguration(String wmsUrl, String wmsEndpoint, String wmsPreEndpoint) {
+	private MapPreviewConfiguration mockConfiguration(String xplanGatewayUrl) {
 		MapPreviewConfiguration mockedConfiguration = Mockito.mock(MapPreviewConfiguration.class);
-		when(mockedConfiguration.getWmsUrl()).thenReturn(wmsUrl);
-		when(mockedConfiguration.getWmsEndpoint()).thenReturn(wmsEndpoint);
-		when(mockedConfiguration.getWmsPreEndpoint()).thenReturn(wmsPreEndpoint);
+		when(mockedConfiguration.getXPlanGatewayUrl()).thenReturn(xplanGatewayUrl);
 		return mockedConfiguration;
 	}
 
diff --git a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetrieverTest.java b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetrieverTest.java
index 94393c66b..1464a2173 100644
--- a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetrieverTest.java
+++ b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationRetrieverTest.java
@@ -20,10 +20,10 @@
  */
 package de.latlon.xplan.manager.web.server.configuration;
 
-import de.latlon.xplan.manager.web.shared.ManagerWebConfiguration;
-import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
-import de.latlon.xplan.manager.web.shared.RasterLayerConfiguration;
-import de.latlon.xplan.manager.web.shared.VectorLayerConfiguration;
+import static de.latlon.xplan.commons.configuration.SystemPropertyPropertiesLoader.CONFIG_SYSTEM_PROPERTY;
+import static de.latlon.xplan.manager.web.server.configuration.ManagerWebConfigurationRetriever.XPLAN_GATEWAY_URL_PUBLIC;
+import static org.apache.commons.io.IOUtils.copy;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -32,14 +32,14 @@ import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.Properties;
 
+import de.latlon.xplan.manager.web.shared.ManagerWebConfiguration;
+import de.latlon.xplan.manager.web.shared.MapPreviewConfiguration;
+import de.latlon.xplan.manager.web.shared.RasterLayerConfiguration;
+import de.latlon.xplan.manager.web.shared.VectorLayerConfiguration;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-import static de.latlon.xplan.commons.configuration.SystemPropertyPropertiesLoader.CONFIG_SYSTEM_PROPERTY;
-import static org.apache.commons.io.IOUtils.copy;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
 /**
  * Please note: This test uses static mocking of the <link>java.lang.System</link>-class,
  * so the behaviour of this class changes in all tested implementation code!
@@ -53,17 +53,26 @@ class ManagerWebConfigurationRetrieverTest {
 
 	private static String oldProperty;
 
+	private static String oldGatewayUrl;
+
+	private static String xplanGatewayUrl;
+
 	@BeforeAll
 	static void copyPropertiesFileAndSetProxyConfigSystemVaraiable() throws IOException {
 		File configDir = copyPropertiesFileToNewConfigDir();
 		oldProperty = System.getProperty(CONFIG_SYSTEM_PROPERTY);
 		System.setProperty(CONFIG_SYSTEM_PROPERTY, configDir.toString());
+		oldGatewayUrl = System.getProperty(XPLAN_GATEWAY_URL_PUBLIC);
+		xplanGatewayUrl = "http://xplan-gateway";
+		System.setProperty(XPLAN_GATEWAY_URL_PUBLIC, xplanGatewayUrl);
 	}
 
 	@AfterAll
 	static void resetProxyConfigSystemProperty() {
 		if (oldProperty != null)
 			System.setProperty(CONFIG_SYSTEM_PROPERTY, oldProperty);
+		if (oldGatewayUrl != null)
+			System.setProperty(XPLAN_GATEWAY_URL_PUBLIC, oldGatewayUrl);
 	}
 
 	@Test
@@ -82,7 +91,7 @@ class ManagerWebConfigurationRetrieverTest {
 		assertEquals(properties.getProperty("basemapUrl"), configuration.getBasemapUrl());
 		assertEquals(properties.getProperty("basemapName"), configuration.getBasemapName());
 		assertEquals(properties.getProperty("basemapLayer"), configuration.getBasemapLayer());
-		assertEquals(properties.getProperty("wmsUrl"), configuration.getWmsUrl());
+		assertEquals(xplanGatewayUrl, configuration.getXPlanGatewayUrl());
 	}
 
 	@Test
diff --git a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationServiceImplTest.java b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationServiceImplTest.java
index 3a91c576d..cafd1cbbf 100644
--- a/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationServiceImplTest.java
+++ b/xplan-manager/xplan-manager-web/src/test/java/de/latlon/xplan/manager/web/server/configuration/ManagerWebConfigurationServiceImplTest.java
@@ -20,6 +20,10 @@
  */
 package de.latlon.xplan.manager.web.server.configuration;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 import de.latlon.xplan.manager.web.server.service.ManagerWebConfigurationServiceImpl;
 import de.latlon.xplan.manager.web.shared.ConfigurationException;
 import de.latlon.xplan.manager.web.shared.ManagerWebConfiguration;
@@ -30,10 +34,6 @@ import de.latlon.xplan.validator.web.shared.XPlanEnvelope;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
 /**
  * @author <a href="mailto:erben@lat-lon.de">Alexander Erben</a>
  * @author <a href="mailto:wanhoff@lat-lon.de">Jeronimo Wanhoff</a>
@@ -87,9 +87,8 @@ public class ManagerWebConfigurationServiceImplTest {
 	private static MapPreviewConfiguration createMapPreviewConfig() {
 		VectorLayerConfiguration vectorLayerConfiguration = createVectorLayerConfig();
 		RasterLayerConfiguration rasterLayerConfiguration = createRasterLayerConfig();
-		return new MapPreviewConfiguration("basemapUrl", "basemapName", "basemapLayer", "wmsUrl", "wms", "wmspre",
-				"wmsarchive", new XPlanEnvelope(0, 0, 1, 1, "epsg:4326"), vectorLayerConfiguration,
-				rasterLayerConfiguration);
+		return new MapPreviewConfiguration("basemapUrl", "basemapName", "basemapLayer", "xplanGatewayUrl",
+				new XPlanEnvelope(0, 0, 1, 1, "epsg:4326"), vectorLayerConfiguration, rasterLayerConfiguration);
 	}
 
 	private static VectorLayerConfiguration createVectorLayerConfig() {
diff --git a/xplan-tests/xplan-tests-soapui/README.md b/xplan-tests/xplan-tests-soapui/README.md
index 8b083486c..e5eaaab3b 100644
--- a/xplan-tests/xplan-tests-soapui/README.md
+++ b/xplan-tests/xplan-tests-soapui/README.md
@@ -76,6 +76,12 @@ Bei Nutzung der Absicherung über ein Bearer Token muss zusätzlich die URL von
 -DjwtUrl=https://xplanbox.lat-lon.de/keycloak/realms/xplanbox/protocol/openid-connect/token -DjwtClientId=xplanbox-api
 ```
 
+### xplan-gateway-soapui-project
+
+```
+mvn clean test -Psystem-tests -DtestFileName=xplan-gateway-soapui-project.xml \ 
+    -DbaseUrlGateway=https://xplanbox.lat-lon.de -Dusername=xplanbox -Dpassword='PWD'
+
 ## Ausführung im Docker container
 
 Die SoapUI Tests können in einem Docker Container ausgeführt werden:
@@ -106,6 +112,7 @@ docker run --env ... xplanbox/xplan-tests-soapui
 - `XPLAN_MAPSERVER_PASSWORD`
 - `XPLAN_SERVICES_API_KEY`
 - `XPLAN_VALIDATOR_API_BASE_URL`
+- `XPLAN_GATEWAY_BASE_URL`
 - `XPLAN_JWT_URL`
 - `XPLAN_JWT_CLIENTID`
 
diff --git a/xplan-tests/xplan-tests-soapui/pom.xml b/xplan-tests/xplan-tests-soapui/pom.xml
index cba4183c0..29498d62d 100644
--- a/xplan-tests/xplan-tests-soapui/pom.xml
+++ b/xplan-tests/xplan-tests-soapui/pom.xml
@@ -69,6 +69,7 @@
         <usernameMapProxy />
         <passwordMapProxy />
         <baseUrlValidatorApi />
+        <baseUrlGateway />
         <username />
         <password />
         <usernameDortmund />
@@ -132,6 +133,7 @@
                     <value>usernameMapProxy=${usernameMapProxy}</value>
                     <value>passwordMapProxy=${passwordMapProxy}</value>
                     <value>baseUrlValidatorApi=${baseUrlValidatorApi}</value>
+                    <value>baseUrlGateway=${baseUrlGateway}</value>
                     <value>username=${username}</value>
                     <value>password=${password}</value>
                     <value>usernameDortmund=${usernameDortmund}</value>
diff --git a/xplan-tests/xplan-tests-soapui/runAllSoapUiTests.sh b/xplan-tests/xplan-tests-soapui/runAllSoapUiTests.sh
index 401cc623c..38223a855 100755
--- a/xplan-tests/xplan-tests-soapui/runAllSoapUiTests.sh
+++ b/xplan-tests/xplan-tests-soapui/runAllSoapUiTests.sh
@@ -6,6 +6,7 @@ XPLAN_MANAGER_API_BASE_URL=${XPLAN_MANAGER_API_BASE_URL:-http://xplan-manager-ap
 XPLAN_MAPPROXY_BASE_URL=${XPLAN_MAPPROXY_BASE_URL:-http://xplan-mapproxy:8080}
 XPLAN_MAPSERVER_BASE_URL=${XPLAN_MAPSERVER_BASE_URL:-http://xplan-mapserver:8080}
 XPLAN_VALIDATOR_API_BASE_URL=${XPLAN_VALIDATOR_API_BASE_URL:-http://xplan-validator-api/xplan-validator-api}
+XPLAN_GATEWAY_BASE_URL=${XPLAN_GATEWAY_BASE_URL:-http://xplan-gateway}
 MSG_PREFIX=$([ -n "$POD_NAMESPACE" ] && echo "[$POD_NAMESPACE] " || echo "")
 
 ############################################
@@ -94,6 +95,9 @@ mvn test -Psystem-tests -DtestFileName=xplan-webservices-soapui-project.xml \
     -DapiKey=$XPLAN_SERVICES_API_KEY \
     -DjwtUrl=$XPLAN_JWT_URL -DjwtClientId=$XPLAN_JWT_CLIENTID
 
+mvn test -Psystem-tests -DtestFileName=xplan-gateway-soapui-project.xml \
+    -DbaseUrlGateway=$XPLAN_XPLAN_GATEWAY_BASE_URL -Dusername=$XPLAN_GATEWAY_USERNAME -Dpassword=$XPLAN_GATEWAY_PASSWORD
+
 echo -e "\n"
 echo "Results:"
 results=`find target/soapui/ -name 'TEST-*.xml' | xargs cat | grep "<testsuite" | sed 's/>.*/>/' | sed -e 's/[">]//g' -e 's/.*name=//' | sort`
diff --git a/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-gateway-soapui-project.xml b/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-gateway-soapui-project.xml
new file mode 100644
index 000000000..87b5c2d80
--- /dev/null
+++ b/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-gateway-soapui-project.xml
@@ -0,0 +1,3035 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<con:soapui-project id="6602f536-6e83-4ac5-8a82-ce0e1be7651a" activeEnvironment="Default" name="xplan-gateway" resourceRoot="" soapui-version="5.7.2" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config">
+  <con:description>For local execution enter:
+
+baseUrlGateway=http://localhost:8095</con:description>
+  <con:settings/>
+  <con:testSuite id="523261f9-fe0e-46de-83bf-d1b6f737edc5" name="xplan-ows">
+    <con:settings/>
+    <con:runType>SEQUENTIAL</con:runType>
+    <con:testCase id="116d7717-e494-4179-a1c2-31667adde3d9" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="validator" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="03e63c0d-588a-4d6e-ad36-cb5d6fa20d9b">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/validator</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="0aba0c25-ce17-495b-9934-5eea6e643376" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="d2a249a8-b99b-4e25-b407-ff1bcbe1c1af">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="WFS - GetCapabilities" id="a660c842-a8e7-48a0-b4ec-c739af0f07d0">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="5356e56a-7c4a-4ba8-ab7d-90e8f091ecf3" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-pre" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="GetCapabilities" id="63665bf2-378e-433b-93d0-fbe481408471">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="WFS - GetCapabilities" id="8c3f8e17-5011-417f-9b80-3215cb257eb3">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>SERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>REQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="b325a2f2-6ff1-40dc-abc0-46657d189440" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-archive" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="GetCapabilities" id="73c44265-0ba9-4907-999d-9b86dd3c9fef">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="45512384-9bac-4e61-a0c4-fcabd086c179" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="WFS - GetCapabilities" id="87b5bcf7-d297-4dd4-ae0c-decf677aac6d">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="94f52cc9-af75-4403-a0f8-35f553f057a2" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn/planart" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="bp - GetCapabilities" id="e166dc5b-6ba6-4406-95d4-09dca45299df">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="bp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planart/bp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="fp - GetCapabilities" id="562f222d-9213-49c5-933f-367efa305f83">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="fp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planart/fp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="lp - GetCapabilities" id="329dbcc7-0403-420b-b9dc-5156e8947aa4">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="lp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planart/lp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="rp - GetCapabilities" id="61738818-9f41-4457-a7ec-f1394a6879ad">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="rp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planart/rp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="so - GetCapabilities" id="b046989a-a6d1-4feb-bc37-01b3aeed1266">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="so - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planart/so</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="249715b5-3610-4b82-98c3-31003c2b4693" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-pre/planart" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="bp - GetCapabilities" id="64347cd3-159e-4396-b9da-8b4f17f4c0c9">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="bp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planart/bp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="fp - GetCapabilities" id="e1f18271-4677-4baa-8ebb-fd0955a4f75d">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="fp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planart/fp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="lp - GetCapabilities" id="0ce0a5ce-4b9a-4867-a91d-d07a960bd5cd">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="lp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planart/lp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="rp - GetCapabilities" id="d22a8f8e-36ad-453b-b616-9c6c84bccfa3">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="rp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planart/rp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="so - GetCapabilities" id="8e1587d6-9670-4a99-a6d1-08b330492450">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="so - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planart/so</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="d6176f53-47d5-474c-b50a-a9bbc776a3f5" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-archive/planart" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="bp - GetCapabilities" id="bd76e65f-f320-4aeb-b242-9aea11f1d004">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="bp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planart/bp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="fp - GetCapabilities" id="7996e9b1-93b0-4f80-b867-34459eb832e6">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="fp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planart/fp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="lp - GetCapabilities" id="e4435c5e-783e-42f0-978c-6ec646f5c2f0">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="lp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planart/lp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="rp - GetCapabilities" id="12fdaab7-a1e2-4eed-83c0-76d72cb36aaf">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="rp - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planart/rp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="so - GetCapabilities" id="cbaf32c7-fd56-48ae-8ce0-c95c22ba9b14">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="so - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planart/so</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="eb83486a-384f-43c1-9a7c-a397cd103e92" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn/planwerk" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="GetCapabilities" id="98ef2e5b-53c3-41b0-981f-f62a984479c1">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn/planwerk/unknown</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace ogc='http://www.opengis.net/ogc';
+
+exists(/ogc:ServiceExceptionReport)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="a862b407-57ce-42df-963a-5ede47e65469" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-pre/planwerk" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="GetCapabilities" id="f80f914a-90ca-4d06-bb48-483a6c59f943">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-pre/planwerk/unknown</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace ogc='http://www.opengis.net/ogc';
+
+exists(/ogc:ServiceExceptionReport)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="941989f0-fe3a-4d00-8223-26cde8e23a83" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="syn-archive/planwerk" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="GetCapabilities" id="5dab7e64-31ff-4bc7-8805-f2a04e8b5d05">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/syn-archive/planwerk/unknown</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace ogc='http://www.opengis.net/ogc';
+
+exists(/ogc:ServiceExceptionReport)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="a38af21b-1de7-46ee-b5ed-37ae4139791d" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="4.0-6.0" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="4.0 - WFS - GetCapabilities" id="d880455a-ffec-4fdb-8f47-a19ac3c91901">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.0</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="4.1 - WFS - GetCapabilities" id="de71f706-d8f2-44a5-81f6-20596f620dcf">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.1</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.0 - WFS - GetCapabilities" id="7ded1e9a-85d8-470c-8550-66ad418966e7">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.0</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.1 - WFS - GetCapabilities" id="75aa9b7a-12af-450f-ba34-865eae21b558">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.1</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.2 - WFS - GetCapabilities" id="9ce46bdc-0e62-4471-9c66-e79b89d7dd86">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.2 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.2</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.3 - WFS - GetCapabilities" id="f8bfba8f-1f93-495d-af6d-edf0605e802f">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.3 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.3</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.4 - WFS - GetCapabilities" id="b67dbc10-8ffb-480b-ab49-05a910fe6811">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.4 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.4</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="6.0 - WFS - GetCapabilities" id="4e684b2e-0ca3-4a06-9573-68e34ed7dffc">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="6.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/6.0</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="9bd75333-34f7-4fba-bc8f-4412bb3824cd" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="4.0-6.0-pre" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="4.0 - WFS - GetCapabilities" id="34e21483-ab0d-471c-b6d1-cff657ee0920">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.0-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="4.1 - WFS - GetCapabilities" id="d0ca16a5-3a82-4e4f-8ead-318518eb772c">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.1-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.0 - WFS - GetCapabilities" id="c9471a11-7ff3-4209-a54e-57fdf523bd6c">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.0-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.1 - WFS - GetCapabilities" id="362b198f-3aa3-4aa9-b25b-89f7f16dc8cc">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.1-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.2 - WFS - GetCapabilities" id="ae4a8c5f-9589-4723-bd2c-564d3e5f8b83">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.2 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.2-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.3 - WFS - GetCapabilities" id="5617e87f-aeaa-4271-9771-2ce60c9eac7b">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.3 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.3-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.4 - WFS - GetCapabilities" id="b3346978-28de-4cb8-877b-671d69b61fbf">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.4 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.4-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="6.0 - WFS - GetCapabilities" id="91d833bf-5d96-4318-ac02-160a15600ba4">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="6.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/6.0-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="d081d635-f4cc-4b7b-9e29-01bdc1d8f479" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="4.0-6.0-archive" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="4.0 - WFS - GetCapabilities" id="e59fb8bc-e634-4dae-be00-d52b5bc465d9">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.0-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="4.1 - WFS - GetCapabilities" id="de60a833-d83f-474a-bfb7-56e28a78bff0">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="4.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/4.1-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.0 - WFS - GetCapabilities" id="f25756e1-3178-4918-bb28-1f9396826a36">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.0-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.1 - WFS - GetCapabilities" id="b156b743-63c1-4e2f-b948-5b22147f7ced">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.1 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.1-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.2 - WFS - GetCapabilities" id="8324520a-ab39-4f08-bad0-4eb7b8627c4a">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.2 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.2-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.3 - WFS - GetCapabilities" id="d073d137-426e-463e-be68-c10aadaad284">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.3 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.3-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="5.4 - WFS - GetCapabilities" id="be58ac1a-6f38-48e1-a9e3-236dc3f42ff8">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="5.4 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/5.4-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="6.0 - WFS - GetCapabilities" id="011da7b0-d6c9-4969-ada2-7d6a07e6e413">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="6.0 - WFS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/6.0-archive</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wfs/2.0';
+
+exists(/wms:WFS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WFS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="0a07c547-3052-4bdc-8356-aa9d442af4c5" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="cache" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="ee112c8e-95c5-4146-b0f5-fedcb77391d7">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/cache</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:testStep type="httprequest" name="WMTS - GetCapabilities" id="6146d8f2-7403-48ab-a339-66fe230665c2">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMTS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/cache</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wmts='http://www.opengis.net/wmts/1.0';
+
+exists(/wmts:Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMTS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="6b69a20b-120f-4879-9474-79ad32150d9d" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="cache/tiles" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMTS - GetCapabilities" id="c74ab8d1-1856-4e55-8065-9de0e10bf78f">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMTS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/cache/tiles/WMTSCapabilities.xml</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wmts='http://www.opengis.net/wmts/1.0';
+
+exists(/wmts:Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters/>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="4ded5db4-e7b0-41fe-b74f-5ac65ee39f6d" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="raster" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="70ee62cb-b966-4751-8900-ee639152ebec">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/raster</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="97f43c18-03d4-468d-aea5-c0ca64d4ac9d" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="raster-pre" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="93645664-fdd0-4cb7-afdc-7a9a47db2f6e">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/raster-pre</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:assertion type="XPath Match" id="a690f7b6-aa56-450e-93dd-bc93069e852d" name="XPath Match">
+            <con:configuration>
+              <path>declare namespace wms='http://www.opengis.net/wms';
+
+exists(/wms:WMS_Capabilities)</path>
+              <content>true</content>
+              <allowWildcards>false</allowWildcards>
+              <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
+              <ignoreComments>false</ignoreComments>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="9fe019cc-3c12-404d-8f3a-eb513016c68f" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="raster/planwerk" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="e55a7de7-4457-470a-9a17-53c712b6bb20">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/raster/planwerk/unknown</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:testCase id="4b934245-82ea-4ccf-b989-385cf1ece70c" failOnError="false" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="raster/planart" searchProperties="true" timeout="0" wsrmEnabled="false" wsrmVersion="1.0" wsrmAckTo="" amfAuthorisation="false" amfEndpoint="" amfLogin="" amfPassword="">
+      <con:settings/>
+      <con:testStep type="httprequest" name="WMS - GetCapabilities" id="f5f1c228-6a9d-49e1-873c-ecbb9acd32dc">
+        <con:settings/>
+        <con:config method="GET" xsi:type="con:HttpRequest" id="c94db636-c152-447a-94e1-768498fbcd21" name="WMS - GetCapabilities" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+          <con:settings>
+            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+          </con:settings>
+          <con:endpoint>${#Project#baseUrlGateway}/xplan-ows/raster/planart/bp</con:endpoint>
+          <con:request/>
+          <con:assertion type="Valid HTTP Status Codes" id="2b2dc1c4-d8c4-4308-8c53-f98536940634" name="Valid HTTP Status Codes">
+            <con:configuration>
+              <codes>200</codes>
+            </con:configuration>
+          </con:assertion>
+          <con:credentials>
+            <con:username>${#Project#username}</con:username>
+            <con:password>${#Project#password}</con:password>
+            <con:selectedAuthProfile>Basic</con:selectedAuthProfile>
+            <con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
+            <con:authType>Global HTTP Settings</con:authType>
+          </con:credentials>
+          <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+          <con:jmsPropertyConfig/>
+          <con:parameters>
+            <con:parameter>
+              <con:name>sERVICE</con:name>
+              <con:value>WMS</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>WMS</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+            <con:parameter>
+              <con:name>rEQUEST</con:name>
+              <con:value>GetCapabilities</con:value>
+              <con:style>QUERY</con:style>
+              <con:default>GetCapabilities</con:default>
+              <con:path xsi:nil="true"/>
+              <con:description xsi:nil="true"/>
+            </con:parameter>
+          </con:parameters>
+        </con:config>
+      </con:testStep>
+      <con:properties/>
+    </con:testCase>
+    <con:properties/>
+  </con:testSuite>
+  <con:properties>
+    <con:property>
+      <con:name>baseUrlGateway</con:name>
+      <con:value>http://localhost:8095</con:value>
+    </con:property>
+    <con:property>
+      <con:name>username</con:name>
+      <con:value/>
+    </con:property>
+    <con:property>
+      <con:name>password</con:name>
+      <con:value/>
+    </con:property>
+  </con:properties>
+  <con:wssContainer/>
+  <con:oAuth2ProfileContainer/>
+  <con:oAuth1ProfileContainer/>
+  <con:sensitiveInformation/>
+</con:soapui-project>
\ No newline at end of file
diff --git a/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-manager-api-soapui-project.xml b/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-manager-api-soapui-project.xml
index 1c07be3e8..48e4188ae 100644
--- a/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-manager-api-soapui-project.xml
+++ b/xplan-tests/xplan-tests-soapui/src/main/resources/xplan-manager-api-soapui-project.xml
@@ -2546,7 +2546,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -2776,7 +2776,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -2948,7 +2948,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -3177,7 +3177,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -3390,7 +3390,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -3666,7 +3666,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -3829,7 +3829,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -4061,7 +4061,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -4446,7 +4446,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -4614,7 +4614,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmsarchive/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-archive/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -4832,7 +4832,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmsarchive/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-archive/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5000,7 +5000,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5177,7 +5177,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5340,7 +5340,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5510,7 +5510,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmsarchive/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-archive/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5678,7 +5678,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -5846,7 +5846,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -6014,7 +6014,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -6173,7 +6173,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -6545,7 +6545,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -6708,7 +6708,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -6868,7 +6868,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -7039,7 +7039,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -7218,7 +7218,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -7788,7 +7788,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -8001,7 +8001,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -8145,7 +8145,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -8280,7 +8280,7 @@ assert actualHeader != null</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -19472,7 +19472,7 @@ if (documentUrl != "null"){
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -19607,7 +19607,7 @@ if (documentUrl != "null"){
             </con:assertion>
             <con:assertion type="XPath Match" id="319a5f6f-d339-465f-9f40-a0a0ec856134" name="link planwerkwms">
               <con:configuration>
-                <path>contains(/planInfo/links[rel='PLANWERKWMS']/href, '/services/planwerkwms/planname/')</path>
+                <path>contains(/planInfo/links[rel='PLANWERKWMS']/href, '/xplan-ows/syn/planwerk/')</path>
                 <content>true</content>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
@@ -19833,7 +19833,7 @@ assert expectedHeader == actualHeader</scriptText>
                 <allowWildcards>false</allowWildcards>
                 <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
                 <ignoreComments>false</ignoreComments>
-                <regEx>^.*/services/planwerkwmspre/planname/.*$</regEx>
+                <regEx>^.*/xplan-ows/syn-pre/planwerk/.*$</regEx>
               </con:configuration>
             </con:assertion>
             <con:credentials>
@@ -24277,7 +24277,7 @@ if( ++context.loopIndex &lt; 40 &amp;&amp; json.status != "VALIDATION_FAILED" ){
               <allowWildcards>false</allowWildcards>
               <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
               <ignoreComments>false</ignoreComments>
-              <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+              <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
             </con:configuration>
           </con:assertion>
           <con:credentials>
@@ -24383,7 +24383,7 @@ if( ++context.loopIndex &lt; 40 &amp;&amp; json.status != "VALIDATION_FAILED" ){
               <allowWildcards>false</allowWildcards>
               <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
               <ignoreComments>false</ignoreComments>
-              <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+              <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
             </con:configuration>
           </con:assertion>
           <con:credentials>
@@ -28140,7 +28140,7 @@ if( ++context.loopIndex &lt; 40 &amp;&amp; json.status != "VALIDATION_FAILED" ){
               <allowWildcards>false</allowWildcards>
               <ignoreNamspaceDifferences>false</ignoreNamspaceDifferences>
               <ignoreComments>false</ignoreComments>
-              <regEx>^.*/services/planwerkwms/planname/.*$</regEx>
+              <regEx>^.*/xplan-ows/syn/planwerk/.*$</regEx>
             </con:configuration>
           </con:assertion>
           <con:credentials>
diff --git a/xplan-validator/xplan-validator-executor/src/main/java/de/latlon/xplanbox/validator/executor/handler/ValidationHandler.java b/xplan-validator/xplan-validator-executor/src/main/java/de/latlon/xplanbox/validator/executor/handler/ValidationHandler.java
index daee7d6e6..011703142 100644
--- a/xplan-validator/xplan-validator-executor/src/main/java/de/latlon/xplanbox/validator/executor/handler/ValidationHandler.java
+++ b/xplan-validator/xplan-validator-executor/src/main/java/de/latlon/xplanbox/validator/executor/handler/ValidationHandler.java
@@ -32,6 +32,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
@@ -42,7 +43,6 @@ import de.latlon.xplan.commons.feature.XPlanFeatureCollection;
 import de.latlon.xplan.commons.feature.XPlanGmlParserBuilder;
 import de.latlon.xplan.validator.ValidatorException;
 import de.latlon.xplan.validator.XPlanValidator;
-import de.latlon.xplan.validator.configuration.ValidatorConfiguration;
 import de.latlon.xplan.validator.report.ReportWriter;
 import de.latlon.xplan.validator.report.ValidatorReport;
 import de.latlon.xplan.validator.web.shared.ReportFormatType;
@@ -55,6 +55,7 @@ import org.deegree.cs.exceptions.UnknownCRSException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 /**
@@ -78,8 +79,8 @@ public class ValidationHandler {
 	@Autowired(required = false)
 	private ValidatorWmsManager validatorWmsManager;
 
-	@Autowired
-	private ValidatorConfiguration validatorConfiguration;
+	@Value("${xplanbox.gateway.url}")
+	private String xplanGatewayUrl;
 
 	private XPlanArchiveCreator archiveCreator = new XPlanArchiveCreator();
 
@@ -152,14 +153,22 @@ public class ValidationHandler {
 	}
 
 	private URI createWmsUrl(int id) throws URISyntaxException {
-		String validatorWmsEndpoint = validatorConfiguration.getValidatorWmsEndpoint();
-		URIBuilder uriBuilder = new URIBuilder(validatorWmsEndpoint);
+		URIBuilder uriBuilder = new URIBuilder(xplanGatewayUrl);
+		uriBuilder.setPathSegments(createPathSegments(uriBuilder));
 		uriBuilder.addParameter("PLANWERK_MANAGERID", Integer.toString(id));
 		uriBuilder.addParameter("SERVICE", "WMS");
 		uriBuilder.addParameter("REQUEST", "GetCapabilities");
 		return uriBuilder.build();
 	}
 
+	private static List<String> createPathSegments(URIBuilder uriBuilder) {
+		List<String> pathSegments = new ArrayList<>(uriBuilder.getPathSegments());
+		pathSegments.add("xplan-ows");
+		pathSegments.add("validator");
+		pathSegments.remove("");
+		return pathSegments;
+	}
+
 	private Path createWorkDir() throws IOException {
 		String id = UUID.randomUUID().toString();
 		Path workDir = uploadFolder.resolve(id);
diff --git a/xplan-validator/xplan-validator-executor/src/main/resources/application.properties b/xplan-validator/xplan-validator-executor/src/main/resources/application.properties
index 75a8a65d9..dd42df710 100644
--- a/xplan-validator/xplan-validator-executor/src/main/resources/application.properties
+++ b/xplan-validator/xplan-validator-executor/src/main/resources/application.properties
@@ -50,4 +50,6 @@ xplanbox.s3.secretKey=${XPLAN_S3_SECRET_ACCESS_KEY}
 xplanbox.validation.profiles=${XPLAN_VALIDATION_PROFILES:}
 xplanbox.s3.bucket.validation=${XPLAN_S3_BUCKET_VALIDATION:validation}
 
-xplanbox.services.crs=${XPLAN_SERVICES_DEFAULT_CRS:EPSG:25832}
\ No newline at end of file
+xplanbox.services.crs=${XPLAN_SERVICES_DEFAULT_CRS:EPSG:25832}
+
+xplanbox.gateway.url=${XPLAN_GATEWAY_URL_PUBLIC:}
\ No newline at end of file
diff --git a/xplan-validator/xplan-validator-web/pom.xml b/xplan-validator/xplan-validator-web/pom.xml
index 3a387e529..c98d25cb5 100644
--- a/xplan-validator/xplan-validator-web/pom.xml
+++ b/xplan-validator/xplan-validator-web/pom.xml
@@ -277,6 +277,10 @@
       <artifactId>spring-test</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context</artifactId>
+    </dependency>
   </dependencies>
 
   <profiles>
diff --git a/xplan-validator/xplan-validator-web/src/main/java/de/latlon/xplan/validator/web/spring/config/XPlanValidatorWebSpringConfig.java b/xplan-validator/xplan-validator-web/src/main/java/de/latlon/xplan/validator/web/spring/config/XPlanValidatorWebSpringConfig.java
index a38f8eb70..3f59cbef5 100644
--- a/xplan-validator/xplan-validator-web/src/main/java/de/latlon/xplan/validator/web/spring/config/XPlanValidatorWebSpringConfig.java
+++ b/xplan-validator/xplan-validator-web/src/main/java/de/latlon/xplan/validator/web/spring/config/XPlanValidatorWebSpringConfig.java
@@ -60,6 +60,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
 import org.springframework.core.io.ResourceLoader;
 
 /**
@@ -69,6 +70,7 @@ import org.springframework.core.io.ResourceLoader;
  */
 @Configuration
 @Import(ValidatorWmsContext.class)
+@PropertySource("classpath:validator-web.properties")
 public class XPlanValidatorWebSpringConfig {
 
 	private static final Logger LOG = LoggerFactory.getLogger(XPlanValidatorWebSpringConfig.class);
@@ -159,18 +161,17 @@ public class XPlanValidatorWebSpringConfig {
 
 	@Bean
 	public MapPreviewManager mapPreviewManager(Optional<ValidatorWmsManager> validatorWmsManager,
-			GeometricValidator geometricValidator, ValidatorConfiguration validatorConfiguration) {
+			@Value("${xplanbox.gateway.url}") String xplanGatewayUrl) {
 		if (!validatorWmsManager.isPresent()) {
 			LOG.warn("ValidatorWmsManager is not configured. Map preview will not be available.");
 			return null;
 		}
-		String validatorWmsEndpoint = validatorConfiguration.getValidatorWmsEndpoint();
-		if (validatorWmsEndpoint == null) {
-			LOG.warn("XPlanValidatorWMS endpoint URL is not configured. Map preview will not be available.");
+		if (xplanGatewayUrl == null) {
+			LOG.warn("XPlanGatewayUrl is not available. Map preview will not be available.");
 			return null;
 		}
 		try {
-			return new MapPreviewManager(validatorWmsManager.get(), geometricValidator, validatorWmsEndpoint);
+			return new MapPreviewManager(validatorWmsManager.get(), xplanGatewayUrl);
 		}
 		catch (IllegalArgumentException | MapPreviewCreationException e) {
 			LOG.error("Could not initialise ValidatorWmsManager. WMS resources cannot be created. Reason: {}",
diff --git a/xplan-validator/xplan-validator-web/src/main/resources/validator-web.properties b/xplan-validator/xplan-validator-web/src/main/resources/validator-web.properties
new file mode 100644
index 000000000..8d04e0409
--- /dev/null
+++ b/xplan-validator/xplan-validator-web/src/main/resources/validator-web.properties
@@ -0,0 +1 @@
+xplanbox.gateway.url=${XPLAN_GATEWAY_URL_PUBLIC:}
\ No newline at end of file
diff --git a/xplan-webservices/xplan-webservices-workspaces/src/main/workspace/services/html.gfi b/xplan-webservices/xplan-webservices-workspaces/src/main/workspace/services/html.gfi
index 6b5ceb4e7..01de15182 100644
--- a/xplan-webservices/xplan-webservices-workspaces/src/main/workspace/services/html.gfi
+++ b/xplan-webservices/xplan-webservices-workspaces/src/main/workspace/services/html.gfi
@@ -28,7 +28,7 @@
 
   <body>
     <script>
-        var WMS_URL = "http://localhost:8080/xplan-wms";
+        var XPLAN_GATEWAY_URL = "http://localhost:8080/xplan-ows";
 
         window.onload = function () {
           updateComplexProperties();
@@ -98,7 +98,7 @@
             referenzProperty.href = referenz;
             referenzProperty.innerText = label;
           } else {
-            referenzProperty.href = WMS_URL + referenz;
+            referenzProperty.href = XPLAN_GATEWAY_URL + referenz;
             referenzProperty.innerText = label;
           }
         }
@@ -107,7 +107,7 @@
           if(referenz.startsWith('http')){
             referenzProperty.href = referenz;
           } else {
-            referenzProperty.href = WMS_URL + referenz;
+            referenzProperty.href = XPLAN_GATEWAY_URL + referenz;
           }
         }
 
-- 
GitLab