diff --git a/src/main/java/de/ozgcloud/xta/test/app/service/ParameterValidatorService.java b/src/main/java/de/ozgcloud/xta/test/app/service/ParameterValidatorService.java
deleted file mode 100644
index f885d59a2e59ff9858587c8e75549366e2abbded..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/xta/test/app/service/ParameterValidatorService.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * @formatter:off
- *
- * Copyright 2021-2022  Koordinierungsstelle für IT-Standards (KoSIT)
- *
- * Licensed under the European Public License, Version 1.2 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     https://opensource.org/licenses/EUPL-1.2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * @formatter:on
- */
-package de.ozgcloud.xta.test.app.service;
-
-import java.util.List;
-import java.util.Optional;
-
-import org.springframework.stereotype.Service;
-
-import genv3.de.xoev.transport.xta.x211.ContentType;
-import genv3.de.xoev.transport.xta.x211.GenericContentContainer;
-import genv3.de.xoev.transport.xta.x211.GenericContentContainer.ContentContainer;
-import genv3.eu.osci.ws.x2008.x05.transport.MsgSelector;
-import genv3.eu.osci.ws.x2014.x10.transport.DestinationsType;
-import genv3.eu.osci.ws.x2014.x10.transport.MessageMetaData;
-import genv3.eu.osci.ws.x2014.x10.transport.MsgIdentificationType;
-import genv3.eu.osci.ws.x2014.x10.transport.OriginatorsType;
-import genv3.eu.osci.ws.x2014.x10.transport.PartyIdentifierType;
-import genv3.eu.osci.ws.x2014.x10.transport.PartyType;
-import genv3.eu.osci.ws.x2014.x10.transport.QualifierType;
-import lombok.extern.log4j.Log4j2;
-
-@Log4j2
-@Service
-public class ParameterValidatorService {
-
-	public boolean isNotNull(final Object obj, final CharSequence parameter) {
-		if (obj == null) {
-			log.error("Parameter '{}' was null", parameter);
-			return false;
-		}
-		return true;
-	}
-
-	public boolean isNotBlank(final String str, final CharSequence parameter) {
-		boolean result = isNotNull(str, parameter);
-		if (result && str.trim().length() == 0) {
-			log.error("Parameter '{}' was blank", parameter);
-			return false;
-		}
-		return result;
-	}
-
-	public boolean isEquals(final String expectedStr, final String otherStr, final CharSequence parameter) {
-		if (isNotNull(otherStr, parameter)) {
-			if (!expectedStr.equals(otherStr)) {
-				log.error("Parameter '{}' was wrong. expected='{}' received='{}'", parameter, expectedStr, otherStr);
-			}
-			return false;
-		}
-		return true;
-	}
-
-	public boolean isListNotEmpty(final List<?> list, final CharSequence parameter) {
-		boolean result = isNotNull(list, parameter);
-		if (result && list.isEmpty()) {
-			log.error("Parameter list '{}' was empty", parameter);
-			return false;
-		}
-		return result;
-	}
-
-	public boolean isListSizeEquals(final List<?> list, final int expectedSize, final CharSequence parameter) {
-		boolean result = isNotNull(list, parameter);
-		if (result && list.size() != expectedSize) {
-			log.error("Parameter list '{}' has wrong size.", parameter);
-			return false;
-		}
-		return result;
-	}
-
-	public void checkMessageMetaData(final MessageMetaData messageMetaData, // NOSONAR
-			final Optional<String> expectedMessageId) {
-		XtaParameter param = XtaParameter.MESSAGE_META_DATA;
-		// TODO scenario is needed to check delivery attributes
-		if (isNotNull(messageMetaData, param)) {
-			// TODO use ScenarioRole to check the properties see Table 5.1 of the specification
-			// if (isNotNull(messageMetaData.getDeliveryAttributes(), param.join(XtaParameter.DELIVERY_ATTRIBUTES))) {
-			// XtaParameter subparam = param.join(XtaParameter.DELIVERY_ATTRIBUTES);
-			// DeliveryAttributesType deliveryAttributes = messageMetaData.getDeliveryAttributes();
-			// isNotNull(deliveryAttributes.getDelivery(), subparam.join(XtaParameter.DELIVERY));
-			// isNotNull(deliveryAttributes.getInitialFetch(), subparam.join(XtaParameter.INITIAL_FETCH));
-			// isNotNull(deliveryAttributes.getInitialSend(), subparam.join(XtaParameter.INITIAL_SEND));
-			// isNotNull(deliveryAttributes.getOrigin(), subparam.join(XtaParameter.ORIGIN));
-			// }
-			if (isNotNull(messageMetaData.getOriginators(), param.join(XtaParameter.ORIGINATORS))) {
-				XtaParameter subparam = param.join(XtaParameter.ORIGINATORS);
-				OriginatorsType originators = messageMetaData.getOriginators();
-				checkPartyType(originators.getAuthor(), subparam.join(XtaParameter.AUTHOR));
-				if (originators.getSender() != null) {
-					checkPartyType(originators.getSender(), subparam.join(XtaParameter.SENDER));
-				} else {
-					// TODO wir haben keine protokoll-warnung, daher nur eine log-message
-					log.warn("originator/sender is missing, but it's not required");
-				}
-			}
-			if (isNotNull(messageMetaData.getDestinations(), param.join(XtaParameter.DESTINATIONS))) {
-				DestinationsType destinations = messageMetaData.getDestinations();
-				checkPartyType(destinations.getReader(), param.join(XtaParameter.DESTINATIONS, XtaParameter.READER));
-			}
-			if (isNotNull(messageMetaData.getMsgIdentification(), param.join(XtaParameter.MSG_IDENTIFICATION))) {
-				MsgIdentificationType msgIdentification = messageMetaData.getMsgIdentification();
-				if (expectedMessageId.isPresent()) {
-					isEquals(expectedMessageId.get(), msgIdentification.getMessageID().getValue(),
-							param.join(XtaParameter.MSG_IDENTIFICATION, XtaParameter.MESSAGE_ID));
-				}
-			}
-			if (isNotNull(messageMetaData.getQualifier(), param.join(XtaParameter.QUALIFIER))) {
-				XtaParameter subparam = param.join(XtaParameter.QUALIFIER);
-				QualifierType qualifier = messageMetaData.getQualifier();
-				isNotNull(qualifier.getService(), subparam.join(XtaParameter.SERVICE));
-				isNotNull(qualifier.getBusinessScenario(), param.join(XtaParameter.BUSINESS_SCENARIO));
-				isNotNull(qualifier.getMessageType(), param.join(XtaParameter.MESSAGE_TYPE));
-			}
-			isNotNull(messageMetaData.getMsgSize(), param.join(XtaParameter.MSG_SIZE));
-		}
-	}
-
-	public void checkPartyType(final PartyType partyType, final XtaParameter parameter) {
-		if (isNotNull(partyType, parameter)) {
-			XtaParameter subparam = parameter.join(XtaParameter.IDENTIFIER);
-			if (isNotNull(partyType.getIdentifier(), subparam)) {
-				PartyIdentifierType identifier = partyType.getIdentifier();
-				isNotBlank(identifier.getCategory(), subparam.join(XtaParameter.CATEGORY));
-				isNotBlank(identifier.getType(), subparam.join(XtaParameter.TYPE));
-			}
-		}
-	}
-
-	public void checkMessage(final GenericContentContainer request) {
-		if (request.getContentContainer() == null && request.getEncryptedData() == null) {
-			log.error("No ContentContainer or EncryptedData element found");
-		} else if (request.getContentContainer() != null) {
-			ContentContainer contentContainer = request.getContentContainer();
-			if (isNotNull(contentContainer.getMessage(), XtaParameter.MESSAGE)) {
-				ContentType message = contentContainer.getMessage();
-				isNotNull(message.getValue(), XtaParameter.MESSAGE.join("value"));
-				isNotBlank(message.getContentType(), XtaParameter.MESSAGE.join("contentType"));
-				isNotBlank(message.getEncoding(), XtaParameter.MESSAGE.join("encoding"));
-				isNotBlank(message.getFilename(), XtaParameter.MESSAGE.join("filename"));
-				isNotBlank(message.getId(), XtaParameter.MESSAGE.join("id"));
-				isNotNull(message.getSize(), XtaParameter.MESSAGE.join("size"));
-			}
-		} else {
-			log.info("message is encryptd");
-		}
-	}
-
-	public void checkMsgSelector(final MsgSelector msgSelector, final Optional<String> expectedMessageId) {
-		if (isNotNull(msgSelector, XtaParameter.MSG_SELECTOR)) {
-			isNotNull(msgSelector.isNewEntry(), XtaParameter.MSG_SELECTOR.join("newEntry"));
-			isNotNull(msgSelector.getMsgBoxEntryTimeFrom(),
-					XtaParameter.MSG_SELECTOR.join("MsgBoxEntryTimeFrom"));
-			isNotNull(msgSelector.getMsgBoxEntryTimeTo(),
-					XtaParameter.MSG_SELECTOR.join("MsgBoxEntryTimeTo"));
-			if (expectedMessageId.isPresent() && isListNotEmpty(msgSelector.getMessageID(),
-					XtaParameter.MSG_SELECTOR.join(XtaParameter.MESSAGE_ID))) {
-				isEquals(expectedMessageId.get(), msgSelector.getMessageID().get(0).getValue(),
-						XtaParameter.MSG_SELECTOR.join(XtaParameter.MESSAGE_ID));
-			}
-		}
-	}
-}
diff --git a/src/main/java/de/ozgcloud/xta/test/app/service/XtaParameter.java b/src/main/java/de/ozgcloud/xta/test/app/service/XtaParameter.java
deleted file mode 100644
index 1a645dd76817e65d9bf874f9dbf873218b38bcee..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/xta/test/app/service/XtaParameter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @formatter:off
- *
- * Copyright 2021-2022  Koordinierungsstelle für IT-Standards (KoSIT)
- *
- * Licensed under the European Public License, Version 1.2 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     https://opensource.org/licenses/EUPL-1.2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * @formatter:on
- */
-package de.ozgcloud.xta.test.app.service;
-
-import java.util.StringJoiner;
-
-import groovy.transform.EqualsAndHashCode;
-
-@EqualsAndHashCode
-public class XtaParameter implements CharSequence {
-
-	private static final String SEPARATOR = ".";
-
-	public static final XtaParameter AUTHOR = new XtaParameter("Author");
-	public static final XtaParameter BUSINESS_SCENARIO = new XtaParameter("BusinessScenario");
-	public static final XtaParameter CATEGORY = new XtaParameter("category");
-	public static final XtaParameter DELIVERY = new XtaParameter("Delivery");
-	public static final XtaParameter DELIVERY_ATTRIBUTES = new XtaParameter("DeliveryAttributes");
-	public static final XtaParameter DESTINATIONS = new XtaParameter("Destinations");
-	public static final XtaParameter IDENTIFIER = new XtaParameter("Identifier");
-	public static final XtaParameter INITIAL_FETCH = new XtaParameter("InitialFetch");
-	public static final XtaParameter INITIAL_SEND = new XtaParameter("InitialSend");
-	public static final XtaParameter MESSAGE = new XtaParameter("Message");
-	public static final XtaParameter MESSAGE_ID = new XtaParameter("MessageID");
-	public static final XtaParameter MESSAGE_META_DATA = new XtaParameter("MessageMetaData");
-	public static final XtaParameter MESSAGE_TYPE = new XtaParameter("MessageType");
-	public static final XtaParameter MSG_BOX_REQUEST_ID = new XtaParameter("MsgBoxRequestID");
-	public static final XtaParameter MSG_BOX_RESPONSE = new XtaParameter("MsgBoxResponse");
-	public static final XtaParameter MSG_IDENTIFICATION = new XtaParameter("MsgIdentification");
-	public static final XtaParameter MSG_SELECTOR = new XtaParameter("MsgSelector");
-	public static final XtaParameter MSG_SIZE = new XtaParameter("MsgSize");
-	public static final XtaParameter QUALIFIER = new XtaParameter("Qualifier");
-	public static final XtaParameter READER = new XtaParameter("Reader");
-	public static final XtaParameter SENDER = new XtaParameter("Sender");
-	public static final XtaParameter SERVICE = new XtaParameter("Service");
-	public static final XtaParameter ORIGIN = new XtaParameter("Origin");
-	public static final XtaParameter ORIGINATORS = new XtaParameter("Originators");
-	public static final XtaParameter TYPE = new XtaParameter("type");
-
-	private String parameter;
-
-	public XtaParameter(final String parameter) {
-		this.parameter = parameter;
-	}
-
-	public XtaParameter join(final CharSequence parameter) {
-		return new XtaParameter(this.parameter + SEPARATOR + parameter);
-	}
-
-	public XtaParameter join(final CharSequence parameter, final CharSequence parameter2) {
-		return new XtaParameter(this.parameter + SEPARATOR + parameter + SEPARATOR + parameter2);
-	}
-
-	public XtaParameter join(final CharSequence parameter, final CharSequence... charSequences) {
-		StringJoiner stringJoiner = new StringJoiner(SEPARATOR);
-		stringJoiner.add(this.parameter);
-		stringJoiner.add(parameter);
-		for (int i = 0; i < charSequences.length; i++) {
-			stringJoiner.add(charSequences[i]);
-		}
-		return new XtaParameter(stringJoiner.toString());
-	}
-
-	@Override
-	public int length() {
-		return parameter.length();
-	}
-
-	@Override
-	public char charAt(final int index) {
-		return parameter.charAt(index);
-	}
-
-	@Override
-	public CharSequence subSequence(final int start, final int end) {
-		return parameter.subSequence(start, end);
-	}
-
-	@Override
-	public String toString() {
-		return parameter;
-	}
-}