diff --git a/changelog.txt b/changelog.txt
index ab1e1af5ac15a0ce31c2ecece509238aaaa4d805..0f301f5bb38064901d7159eace5f028949d402db 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -27,6 +27,8 @@ eDelivery SMP 4.2
     identifiersBehaviour.ParticipantIdentifierScheme.ebCoreId.concatenate: Concatenate ebCore party id in XML responses <ParticipantIdentifier >urn:oasis:names:tc:ebcore:partyid-type:unregistered:test-ebcore-id</ParticipantIdentifier>
     smp.passwordPolicy.expired.forceChange: Force change password at UI login if expired
     smp.passwordPolicy.warning.beforeExpiration: How many days before expiration should the UI warn users at login
+- new application configuration property
+    libraries.folder: add external SPI beans libraries folder loaded at the startup of the SMP!
 
 
 - removed deprecated properties
diff --git a/pom.xml b/pom.xml
index 6085b56dbc18500bb77ae06ab6ce446c48311ee8..870d255edd7e3b714f50fc79addee7a884a5406d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,9 +24,11 @@
     <modules>
         <module>smp-angular</module>
         <module>smp-api</module>
+        <module>smp-spi</module>
         <module>smp-server-library</module>
         <module>smp-webapp</module>
         <module>smp-soapui-tests</module>
+        <module>smp-examples</module>
     </modules>
 
     <properties>
diff --git a/smp-angular/src/app/app-config/smp-config.model.ts b/smp-angular/src/app/app-config/smp-config.model.ts
index d2dc4eb6161aee0611536d475198e8c7a07e89e2..4692039d1552a4ade4e681a220694a2bccba8b4e 100644
--- a/smp-angular/src/app/app-config/smp-config.model.ts
+++ b/smp-angular/src/app/app-config/smp-config.model.ts
@@ -2,6 +2,7 @@ export interface SmpConfig {
   smlIntegrationOn?: boolean;
   smlParticipantMultiDomainOn?: boolean;
   concatEBCorePartyId?: boolean;
+  partyIDSchemeMandatory?: boolean;
   participantSchemaRegExp?: string;
   participantSchemaRegExpMessage?: string;
   passwordValidationRegExp?: string;
diff --git a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
index abcf1ec2d5f77a1c7440b4893361677ed85fbf7b..174f6fa8cc77c40bea35c3e5c4d243c124c6df61 100644
--- a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
+++ b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
@@ -25,7 +25,7 @@
             <input matInput placeholder="SML domain"
                    name="smlSubdomain" id="smldomain_id"
                    [formControl]="domainForm.controls['smlSubdomain']" maxlength="63" >
-            <mat-hint align="end">Part of DNS Zone (e.g. for eHealth: 'ehealth', for peppol: '', ..</mat-hint>
+            <mat-hint align="end">The domain-specific part of the SML DNS zone (e.g., ‘mydomain’ for mydomain.sml.dns.zone or leave empty for sml.dns.zone). Note: informative value.</mat-hint>
             <div
               *ngIf="(!editMode && domainForm.controls['smlSubdomain'].touched || editMode)
               &&  domainForm.controls['smlSubdomain'].hasError('pattern')"
diff --git a/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.html b/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.html
index 4750a3c659fbb82e93aa63513c38725ea0ce1c7b..c1c4f717b64f100cb59e98cc0d0269d65f629d12 100644
--- a/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.html
+++ b/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.html
@@ -25,10 +25,16 @@
           </mat-form-field>
 
           <mat-form-field style="width:100%">
-            <input matInput placeholder="Participant scheme" name="participantScheme"
-                   id="participantScheme_id"
+            <input *ngIf="lookups.cachedApplicationConfig.partyIDSchemeMandatory  else notRequired"
+                   matInput placeholder="Participant scheme" name="participantScheme"
+                   id="participantSchemeMandatory_id"
                    [formControl]="dialogForm.controls['participantScheme']"
                    maxlength="255" required>
+            <input #notRequired
+                   matInput placeholder="Participant scheme" name="participantScheme"
+                   id="participantScheme_id"
+                   [formControl]="dialogForm.controls['participantScheme']"
+                   maxlength="255" >
             <div
               *ngIf="(!editMode && dialogForm.controls['participantScheme'].touched || editMode) &&  dialogForm.controls['participantScheme'].hasError('required')"
               style="color:red; font-size: 70%">
diff --git a/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.ts b/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.ts
index 742b48fac5ea5dc5658583385a8eb8b71ef2b154..214c5f7f263ea2e273c44863c18810261e879431 100644
--- a/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.ts
+++ b/smp-angular/src/app/service-group-edit/service-group-details-dialog/service-group-details-dialog.component.ts
@@ -110,7 +110,7 @@ export class ServiceGroupDetailsDialogComponent implements OnInit {
         this.current.status === SearchTableEntityStatus.NEW ? Validators.required : null),
       'participantScheme': new FormControl({value: '', disabled: this.current.status !== SearchTableEntityStatus.NEW},
         this.current.status === SearchTableEntityStatus.NEW ?
-          [Validators.required, Validators.pattern(this.participantSchemePattern)] : null),
+          [Validators.pattern(this.participantSchemePattern)] : null),
       'serviceGroupDomains': new FormControl({value: []}, [this.minSelectedListCount(1),
         this.multiDomainOn(this.lookups.cachedApplicationConfig.smlParticipantMultiDomainOn)]),
       'users': new FormControl({value: []}, [this.minSelectedListCount(1)]),
@@ -118,6 +118,10 @@ export class ServiceGroupDetailsDialogComponent implements OnInit {
 
 
     });
+    if (!!lookups.cachedApplicationConfig.partyIDSchemeMandatory && this.current.status == SearchTableEntityStatus.NEW){
+      this.dialogForm.controls['participantScheme'].addValidators(Validators.required) ;
+    }
+
     // update values
     this.dialogForm.controls['participantIdentifier'].setValue(this.current.participantIdentifier);
     this.dialogForm.controls['participantScheme'].setValue(this.current.participantScheme);
diff --git a/smp-api/src/main/java/eu/europa/ec/smp/api/Identifiers.java b/smp-api/src/main/java/eu/europa/ec/smp/api/Identifiers.java
index 9086b4f6847945b37ea9205e3ab079c1a64a5a26..37a20ce4703f1602453a89bdd8661fbbd4a640f4 100644
--- a/smp-api/src/main/java/eu/europa/ec/smp/api/Identifiers.java
+++ b/smp-api/src/main/java/eu/europa/ec/smp/api/Identifiers.java
@@ -37,26 +37,25 @@ public class Identifiers {
     private static final String EMPTY_IDENTIFIER = "Null/Empty";
 
 
-    public static ParticipantIdentifierType asParticipantId(String participantIDentifier) {
-        String[] res = splitParticipantIdentifier(participantIDentifier);
+    public static ParticipantIdentifierType asParticipantId(String participantIdentifier, boolean schemeMandatory) {
+        String[] res = splitParticipantIdentifier(participantIdentifier, schemeMandatory);
         return new ParticipantIdentifierType(res[1], res[0]);
     }
 
     public static DocumentIdentifier asDocumentId(String doubleColonDelimitedId) {
-        String[] res = splitDoubleColonIdentifier(doubleColonDelimitedId);
+        String[] res = splitDoubleColonIdentifier(doubleColonDelimitedId, false);
         return new DocumentIdentifier(res[1], res[0]);
     }
 
     public static ProcessIdentifier asProcessId(String doubleColonDelimitedId) {
-        String[] res = splitDoubleColonIdentifier(doubleColonDelimitedId);
+        String[] res = splitDoubleColonIdentifier(doubleColonDelimitedId, false);
         return new ProcessIdentifier(res[1], res[0]);
     }
 
     public static String asString(ParticipantIdentifierType participantId) {
         if (StringUtils.isBlank(participantId.getScheme())) {
-            // if scheme is empty just return value (for OASIS SMP 1.0 must start with :: )
-            return (StringUtils.startsWithIgnoreCase(participantId.getScheme(), EBCORE_IDENTIFIER_PREFIX) ?
-                    "" : "::") + participantId.getValue();
+            // if scheme is empty just return value (see section 3.4.1 of [SMP-v1.0]) MUST include neither an {identifier scheme} nor the :: separator )
+            return participantId.getValue();
         }
         String format =
                 StringUtils.startsWithIgnoreCase(participantId.getScheme(), EBCORE_IDENTIFIER_PREFIX) ?
@@ -81,7 +80,7 @@ public class Identifiers {
         return UriUtils.encode(s, UTF_8.name());
     }
 
-    private static String[] splitParticipantIdentifier(String participantIdentifier) {
+    private static String[] splitParticipantIdentifier(String participantIdentifier, boolean schemeMandatory) {
 
         String[] idResult;
         if (StringUtils.isBlank(participantIdentifier)) {
@@ -92,7 +91,7 @@ public class Identifiers {
                 || identifier.startsWith("::" + EBCORE_IDENTIFIER_PREFIX)) {
             idResult = splitEbCoreIdentifier(identifier);
         } else {
-            idResult = splitDoubleColonIdentifier(identifier);
+            idResult = splitDoubleColonIdentifier(identifier, schemeMandatory);
         }
 
         return idResult;
@@ -107,7 +106,7 @@ public class Identifiers {
      * @return array with two elements. First is schema and second is id
      */
 
-    private static String[] splitDoubleColonIdentifier(String doubleColonDelimitedId) {
+    private static String[] splitDoubleColonIdentifier(String doubleColonDelimitedId, boolean schemeMandatory) {
         if (StringUtils.isBlank(doubleColonDelimitedId)) {
             throw new MalformedIdentifierException(EMPTY_IDENTIFIER, null);
         }
@@ -115,18 +114,16 @@ public class Identifiers {
         String[] idResult = new String[2];
 
         int delimiterIndex = doubleColonDelimitedId.indexOf("::");
-        if (delimiterIndex < 0) {
+        if (schemeMandatory && delimiterIndex < 0) {
             throw new MalformedIdentifierException(doubleColonDelimitedId, null);
         }
-        idResult[0] = delimiterIndex == 0 ? null : doubleColonDelimitedId.substring(0, delimiterIndex);
-        idResult[1] = doubleColonDelimitedId.substring(delimiterIndex + 2);
+        idResult[0] = delimiterIndex <= 0 ? null : doubleColonDelimitedId.substring(0, delimiterIndex);
+        idResult[1] = doubleColonDelimitedId.substring(delimiterIndex + (delimiterIndex < 0?1:2));
 
         if (StringUtils.isBlank(idResult[1])) {
             throw new MalformedIdentifierException(doubleColonDelimitedId, null);
         }
-
         return idResult;
-
     }
 
     public static String[] splitEbCoreIdentifier(final String partyId) {
diff --git a/smp-api/src/test/java/eu/europa/ec/smp/api/IdentifiersTest.java b/smp-api/src/test/java/eu/europa/ec/smp/api/IdentifiersTest.java
index 58a2135e850faf7be3f45ab267328b3f1bc84168..1c28003c62865c2858900da435de7927328c793a 100644
--- a/smp-api/src/test/java/eu/europa/ec/smp/api/IdentifiersTest.java
+++ b/smp-api/src/test/java/eu/europa/ec/smp/api/IdentifiersTest.java
@@ -66,18 +66,19 @@ public class IdentifiersTest {
         };
     }
 
-    private static final Object[] participantIdentifierNegativeCases() {
-        return new Object[]{
-                "Null value", null,
-                "Empty value", "",
-                "Not double colon and not ebCoreId", "a",
-                "Constant and is not ebCoreId 2", "abc",
-                "Only one colon", "a:b",
-                "Missing identifier", "a::",
-                "Not double colon and not ebCoreId", "ehealth-actorid-qns",
-                "Not double colon and not ebCoreId", "urn:poland:ncpb",
-                "Not double colon and not ebCoreId", "ehealth-resid-qns",
-                "Not double colon and not ebCoreId", "epsos##services:extended:epsos:51",
+    private static final Object[][] participantIdentifierNegativeCases() {
+        return new Object[][]{
+                {"Null value", null, false},
+                {"Empty value", "", false},
+                {"Missing identifier", "a::", false},
+                // following are false only if scheme is mandatory!
+                {"Not double colon and not ebCoreId", "a", true},
+                {"Constant and is not ebCoreId 2", "abc", true},
+                {"Only one colon", "a:b", true},
+                {"Not double colon and not ebCoreId", "ehealth-actorid-qns", true},
+                {"Not double colon and not ebCoreId", "urn:poland:ncpb", true},
+                {"Not double colon and not ebCoreId", "ehealth-resid-qns", true},
+                {"Not double colon and not ebCoreId", "epsos##services:extended:epsos:51", true},
         };
     }
 
@@ -86,6 +87,7 @@ public class IdentifiersTest {
                 {"a::b", "a", "b"},
                 {"a::b::c", "a", "b::c"},
                 {"a:b::c", "a:b", "c"},
+                {"NoSchemeIdentifier", null, "NoSchemeIdentifier"},
                 {"ehealth-actorid-qns::urn:poland:ncpb", "ehealth-actorid-qns", "urn:poland:ncpb"},
                 {"ehealth-resid-qns::urn::epsos##services:extended:epsos::51", "ehealth-resid-qns", "urn::epsos##services:extended:epsos::51"},
                 {"iso6523-actorid-upis::0002:gutek", "iso6523-actorid-upis", "0002:gutek"},
@@ -135,7 +137,7 @@ public class IdentifiersTest {
 
     private static final Object[] ebCoreIdentifiersNegativeCases() {
         return new Object[][]{
-                {"Not an ebCore ", "urn:my:space:tc:ebcore:partyid-type:unregistered:domain:ec.europa.eu", MalformedIdentifierException.class},
+                //{"Not an ebCore ", "urn:my:space:tc:ebcore:partyid-type:unregistered:domain:ec.europa.eu", MalformedIdentifierException.class},
                 {"ebCore iso6523", "urn:oasis:names:tc:ebcore:partyid-type:iso6523:Illegal-value-without-scheme", IllegalArgumentException.class},
                 {"ebCore with no catalog", " urn:oasis:names:tc:ebcore:partyid-type:0088123456789", IllegalArgumentException.class},
         };
@@ -144,15 +146,7 @@ public class IdentifiersTest {
     private static final Object[] negativeCases() {
         return new Object[]{
                 null,
-                "",
-                "a",
-                "abc",
-                "a:b",
                 "a::",
-                "ehealth-actorid-qns",
-                "urn:poland:ncpb",
-                "ehealth-resid-qns",
-                "epsos##services:extended:epsos:51",
         };
     }
 
@@ -179,7 +173,7 @@ public class IdentifiersTest {
     @TestCaseName("{0}")
     public void testParticipantIdPositive(String caseName, String input, String scheme, String value) {
         //when
-        ParticipantIdentifierType participantId = Identifiers.asParticipantId(input);
+        ParticipantIdentifierType participantId = Identifiers.asParticipantId(input, true);
 
         //then
         assertEquals(scheme, participantId.getScheme());
@@ -202,10 +196,11 @@ public class IdentifiersTest {
     @Test
     @Parameters(method = "participantIdentifierNegativeCases")
     @TestCaseName("{0}")
-    public void testParticipantIdNegative(String negativeInput) {
+    public void testParticipantIdNegative(String caseName, String negativeInput, boolean schemeMandatory) {
         try {
             //when
-            Identifiers.asParticipantId(negativeInput);
+            Identifiers.asParticipantId(negativeInput, schemeMandatory);
+            System.out.println(negativeInput);
         } catch (Exception e) {
             //then
             negativeAssertions(negativeInput, e);
@@ -221,7 +216,7 @@ public class IdentifiersTest {
 
         expectedEx.expect(clz);
         //when
-        Identifiers.asParticipantId(negativeInput);
+        Identifiers.asParticipantId(negativeInput, false);
 
     }
 
diff --git a/smp-docker/compose/tomcat-mysql-smp-sml/docker-compose.yml b/smp-docker/compose/tomcat-mysql-smp-sml/docker-compose.yml
index 2a6d87efb382b8135772d28257429f3c4225fb7d..e91550851b59c804b0c79b455c0da3c1bf9c8777 100644
--- a/smp-docker/compose/tomcat-mysql-smp-sml/docker-compose.yml
+++ b/smp-docker/compose/tomcat-mysql-smp-sml/docker-compose.yml
@@ -3,6 +3,8 @@ services:
   tomcat-mysql-sml:
     image: smp-sml-tomcat-mysql:${SMP_VERSION}
     container_name: smp-sml-tomcat-mysql
+    environment:
+      - SMP_INIT_PROPERTIES=smp.passwordPolicy.expired.forceChange=false||smp.cluster.enabled=false
     volumes:
       - ./properties/db-scripts:/tmp/custom-data/  # init script.
     ports:
diff --git a/smp-examples/pom.xml b/smp-examples/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d88204c78c3b1c553c18fccf3688718c077d7e08
--- /dev/null
+++ b/smp-examples/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017 European Commission | CEF eDelivery
+  ~
+  ~ Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
+  ~ You may not use this work except in compliance with the Licence.
+  ~
+  ~ You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the Licence for the specific language governing permissions and limitations under the Licence.
+  -->
+
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>eu.europa.ec.edelivery</groupId>
+        <artifactId>smp-modules</artifactId>
+        <version>4.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>smp-examples</artifactId>
+    <name>smp-examples</name>
+    <packaging>pom</packaging>
+    <description>The sub-project contains SMP examples of API and SPI implementations. Currently, SPI payload validation example.</description>
+    <modules>
+        <module>smp-spi-example</module>
+    </modules>
+</project>
diff --git a/smp-examples/smp-spi-example/pom.xml b/smp-examples/smp-spi-example/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aef0fe99618d74a8b8e3d7da9745b0fd52870aa7
--- /dev/null
+++ b/smp-examples/smp-spi-example/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017 European Commission | CEF eDelivery
+  ~
+  ~ Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
+  ~ You may not use this work except in compliance with the Licence.
+  ~
+  ~ You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the Licence for the specific language governing permissions and limitations under the Licence.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>eu.europa.ec.edelivery</groupId>
+        <artifactId>smp-modules</artifactId>
+        <version>4.2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>smp-spi-example</artifactId>
+    <name>smp-spi-example</name>
+    <packaging>jar</packaging>
+    <description>Example of SMP's SPI Payload validation.</description>
+    <dependencies>
+        <dependency>
+            <groupId>eu.europa.ec.edelivery</groupId>
+            <artifactId>smp-spi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/smp-examples/smp-spi-example/src/main/java/eu/europa/ec/smp/spi/ExamplePayloadValidatorSpiImpl.java b/smp-examples/smp-spi-example/src/main/java/eu/europa/ec/smp/spi/ExamplePayloadValidatorSpiImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..520beb4a85dc3b51b40312a9a88504749b02bbe7
--- /dev/null
+++ b/smp-examples/smp-spi-example/src/main/java/eu/europa/ec/smp/spi/ExamplePayloadValidatorSpiImpl.java
@@ -0,0 +1,39 @@
+package eu.europa.ec.smp.spi;
+
+import eu.europa.ec.smp.spi.exceptions.PayloadValidatorSpiException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * @author Joze Rihtarsic
+ * @since 4.2
+ * <p>
+ * Example of the SMP Service provider interface (SPI) for uploaded payload validation.
+ */
+@Service
+public class ExamplePayloadValidatorSpiImpl implements PayloadValidatorSpi {
+    private static final Logger LOG = LoggerFactory.getLogger(ExamplePayloadValidatorSpiImpl.class);
+
+    /**
+     * Example methods logs the byte size and the mime type
+     *
+     * @param payload  The payload data to be validated
+     * @param mimeType The payload mime type
+     * @throws PayloadValidatorSpiException in case the validation does not pass
+     */
+    public void validatePayload(InputStream payload, String mimeType) throws PayloadValidatorSpiException {
+        try {
+            LOG.info("*********************************************************************");
+            LOG.info("* Validate payload with size [{}] and mime type [{}]!", payload.available(), mimeType);
+            LOG.info("**********************************************************************");
+        } catch (IOException e) {
+            throw new PayloadValidatorSpiException("Can not read payload", e);
+        }
+    }
+
+    ;
+}
\ No newline at end of file
diff --git a/smp-examples/smp-spi-example/src/main/resources/logback.xml b/smp-examples/smp-spi-example/src/main/resources/logback.xml
new file mode 100644
index 0000000000000000000000000000000000000000..10ca94f2e20beb3b5f9da96237a19bf3531dd8bb
--- /dev/null
+++ b/smp-examples/smp-spi-example/src/main/resources/logback.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<configuration>
+    <!-- pattern definition -->
+    <property name="encoderPattern" value="%d{ISO8601} [%thread] %5p %c{1}:%L - %m%n" scope="global"/>
+    <property name="consolePattern" value="%d{ISO8601} [%thread] %5p %c{1}:%L - %m%n" scope="global"/>
+
+     <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.folder:-logs}/spi-validation-example-smp.log</file>
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+        </filter>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!-- rollover daily -->
+            <fileNamePattern>${log.folder:-logs}/spi-validation-example-smp-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <!-- each file should be at most 30MB, keep 60 days worth of history, but at most 20GB -->
+            <maxFileSize>30MB</maxFileSize>
+            <maxHistory>60</maxHistory>
+            <totalSizeCap>20GB</totalSizeCap>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${encoderPattern}</pattern>
+        </encoder>
+    </appender>
+
+
+
+    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+        <Target>System.out</Target>
+        <encoder>
+            <pattern>${consolePattern}</pattern>
+        </encoder>
+    </appender>
+    <logger name="eu.europa.ec.edelivery" level="DEBUG" />
+    <root level="WARN">
+        <appender-ref ref="file"/>
+        <appender-ref ref="stdout"/>
+    </root>
+</configuration>
\ No newline at end of file
diff --git a/smp-server-library/pom.xml b/smp-server-library/pom.xml
index a49897b1fa73a3bc8270a18a76911cdfb0394931..0bffa3e2ac9fff59b572620fae169b2bf4718967 100644
--- a/smp-server-library/pom.xml
+++ b/smp-server-library/pom.xml
@@ -28,6 +28,11 @@
             <artifactId>smp-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>eu.europa.ec.edelivery</groupId>
+            <artifactId>smp-spi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>eu.europa.ec.bdmsl</groupId>
             <artifactId>bdmsl-api</artifactId>
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseConfig.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseConfig.java
index 48e92dd2afe3a1054dbd78eccab16bd8347ec3b2..cd2a1158064fd86ab92cec31ecac693b33a5f822 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseConfig.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseConfig.java
@@ -13,10 +13,13 @@
 
 package eu.europa.ec.edelivery.smp.config;
 
+import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.utils.ExtLibraryClassLoader;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -33,6 +36,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 import javax.naming.NamingException;
 import javax.persistence.EntityManagerFactory;
 import javax.sql.DataSource;
+import java.io.File;
+import java.net.MalformedURLException;
 import java.util.Properties;
 
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR;
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseProperties.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseProperties.java
index 918a0009455ddda98d4d588be85fe7eaa4a2d709..1b8d3492316eb2629b478dc51a73d26e4d170a52 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseProperties.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/DatabaseProperties.java
@@ -1,6 +1,7 @@
 package eu.europa.ec.edelivery.smp.config;
 
 import eu.europa.ec.edelivery.smp.data.model.DBConfiguration;
+import eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 
@@ -8,6 +9,7 @@ import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
 import java.time.OffsetDateTime;
 import java.util.List;
+import java.util.Optional;
 import java.util.Properties;
 
 public class DatabaseProperties extends Properties {
@@ -23,13 +25,27 @@ public class DatabaseProperties extends Properties {
         for (DBConfiguration dc : lst) {
             if(dc.getValue()!=null) {
                 LOG.info("Database property: '{}' value: '{}'",dc.getProperty(),
-                        dc.getProperty().toLowerCase().contains("password")?"******": dc.getValue());
+                        isSensitiveData(dc.getProperty())?"******": dc.getValue());
                 setProperty(dc.getProperty(), dc.getValue());
             }
             lastUpdate = (lastUpdate==null || lastUpdate.isBefore(dc.getLastUpdatedOn()) )? dc.getLastUpdatedOn() :lastUpdate;
         }
     }
 
+    /**
+     * Return true for properties which must not be logged!
+     * @param property - value to validate if contains sensitive data
+     * @return true if data is sensitive, else return false
+     */
+     public boolean isSensitiveData(String property){
+         Optional<SMPPropertyEnum> propOpt =  SMPPropertyEnum.getByProperty(property);
+         if (propOpt.isPresent()){
+             return propOpt.get().isEncrypted() ||  property.toLowerCase().contains(".password.decrypted");
+         }
+         LOG.warn("Database property [{}] is not recognized by the SMP!", property);
+         return false;
+    }
+
     public OffsetDateTime getLastUpdate() {
         return lastUpdate;
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/FileProperty.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/FileProperty.java
index e08fdbb3b9729422da7289e50d8dd14232230cb2..b10e90017a1c656b0e725f7a877a0646593da41a 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/FileProperty.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/FileProperty.java
@@ -31,9 +31,7 @@ public class FileProperty {
     public static final String PROPERTY_DB_URL = "jdbc.url";
     public static final String PROPERTY_DB_JNDI = "datasource.jndi";
     public static final String PROPERTY_DB_DIALECT = "hibernate.dialect";
-
-    private FileProperty() {
-    }
+    public static final String PROPERTY_LIB_FOLDER = "libraries.folder";
 
     public static void updateLogConfiguration(String logFileFolder, String logPropertyFile, String configurationFolder) {
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/PropertyInitialization.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/PropertyInitialization.java
index e28357843e8f746527d12738a8ecf7068bdf3f51..fa7dd2ce873772713ffcefa0f79f082c998ce5d3 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/PropertyInitialization.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/PropertyInitialization.java
@@ -52,36 +52,9 @@ import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR;
  * Also it uses hibernate to handle dates  for Configuration table.
  */
 public class PropertyInitialization {
-    // application properties contains build data and are set at build time.
-    private static final String FILE_APPLICATION_PROPERTIES = "/application.properties";
-
-    private static final String PROP_BUILD_NAME = "smp.artifact.name";
-    private static final String PROP_BUILD_VERSION = "smp.artifact.version";
-    private static final String PROP_BUILD_TIME = "smp.artifact.build.time";
-
 
     SMPLogger LOG = SMPLoggerFactory.getLogger(PropertyInitialization.class);
 
-
-    public void logBuildProperties() {
-        InputStream is = PropertyInitialization.class.getResourceAsStream(FILE_APPLICATION_PROPERTIES);
-        if (is != null) {
-            Properties applProp = new Properties();
-            try {
-                applProp.load(is);
-                LOG.info("*****************************************************************************************");
-                LOG.info("Start application: name: {}, version: {}, build time: {}.", applProp.getProperty(PROP_BUILD_NAME)
-                        , applProp.getProperty(PROP_BUILD_VERSION)
-                        , applProp.getProperty(PROP_BUILD_TIME));
-                LOG.info("*****************************************************************************************");
-            } catch (IOException e) {
-                LOG.error("Error occurred  while reading application properties. Is file " + FILE_APPLICATION_PROPERTIES + " included in war!", e);
-            }
-        } else {
-            LOG.error("Not found application build properties: {}!", FILE_APPLICATION_PROPERTIES);
-        }
-    }
-
     protected Properties getDatabaseProperties(Properties fileProperties) {
         String dialect = fileProperties.getProperty(FileProperty.PROPERTY_DB_DIALECT);
         if (StringUtils.isBlank(dialect)) {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizer.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizer.java
index f97aaa9343f01d6cff99c947817f27d945091436..224bff8636a79d85f32dacd6d8d7eef811a7523c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizer.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizer.java
@@ -17,12 +17,9 @@ import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import org.apache.commons.lang3.StringUtils;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.DocumentIdentifier;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.io.IOException;
 import java.util.List;
-import java.util.ListIterator;
 
 import static eu.europa.ec.smp.api.Identifiers.asParticipantId;
 import static eu.europa.ec.smp.api.Identifiers.asString;
@@ -33,11 +30,11 @@ import static eu.europa.ec.smp.api.Identifiers.asString;
 @Component
 public class CaseSensitivityNormalizer {
 
+    protected static ConfigurationService configurationService;
 
-    @Autowired
-    ConfigurationService configurationService;
-
-
+    public CaseSensitivityNormalizer(ConfigurationService configurationService) {
+        this.configurationService = configurationService;
+    }
 
     public ParticipantIdentifierType normalizeParticipantIdentifier(String scheme, String value) {
         List<String> caseSensitiveParticipantSchemes = configurationService.getCaseSensitiveParticipantScheme();
@@ -49,8 +46,10 @@ public class CaseSensitivityNormalizer {
     }
 
     public ParticipantIdentifierType normalize(final ParticipantIdentifierType participantIdentifier) {
-        String scheme = participantIdentifier.getScheme();
-        String value = participantIdentifier.getValue();
+        ParticipantIdentifierType prtId = asParticipantId(asString(participantIdentifier),
+                configurationService.getParticipantSchemeMandatory());
+        String scheme = prtId.getScheme();
+        String value = prtId.getValue();
         return normalizeParticipantIdentifier(scheme, value);
     }
 
@@ -74,13 +73,6 @@ public class CaseSensitivityNormalizer {
     }
 
     public ParticipantIdentifierType normalizeParticipant(String participantId) {
-        return normalize(asParticipantId(participantId));
-    }
-
-    private static void toLowerCaseStringList(List<String> strings) {
-        ListIterator<String> iterator = strings.listIterator();
-        while (iterator.hasNext()) {
-            iterator.set(iterator.next().toLowerCase().trim());
-        }
+        return normalize(asParticipantId(participantId, configurationService.getParticipantSchemeMandatory()));
     }
 }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
index 734bb845cf16037836b00a1d13d8f4be648f7f9f..bbce5f4f957c5d074bace39e690d3af07095c014 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceGroupConverter.java
@@ -95,10 +95,12 @@ public class ServiceGroupConverter {
      * @return
      */
     public static ServiceGroup unmarshal(byte[] serviceGroupXml) {
+
         try {
             System.out.println("UNMARSHAL SERVICE GROUP " + new String(serviceGroupXml));
             Document serviceGroupDoc = parse(serviceGroupXml);
             ServiceGroup serviceGroup =  getUnmarshaller().unmarshal(serviceGroupDoc, ServiceGroup.class).getValue();
+            /*
             if (serviceGroup!=null && serviceGroup.getParticipantIdentifier()!=null
             && StringUtils.isBlank(serviceGroup.getParticipantIdentifier().getScheme())
             && StringUtils.startsWithAny(serviceGroup.getParticipantIdentifier().getValue(),
@@ -106,9 +108,9 @@ public class ServiceGroupConverter {
                     "::"+ EBCORE_IDENTIFIER_PREFIX)){
                 // normalize participant identifier
                 LOG.info("Normalize ebCore identifier: " + serviceGroup.getParticipantIdentifier().getValue());
-                ParticipantIdentifierType participantIdentifierType = Identifiers.asParticipantId(serviceGroup.getParticipantIdentifier().getValue());
+                ParticipantIdentifierType participantIdentifierType = Identifiers.asParticipantId(serviceGroup.getParticipantIdentifier().getValue(), allowNullPartcScheme);
                 serviceGroup.setParticipantIdentifier(participantIdentifierType);
-            }
+            }*/
             return serviceGroup;
         } catch (ParserConfigurationException | IOException | SAXException | JAXBException ex) {
             throw new SMPRuntimeException(ErrorCode.XML_PARSE_EXCEPTION,ex,ServiceGroup.class.getName(), ExceptionUtils.getRootCauseMessage(ex));
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
index 6ef551981e2fa44d7afb849deb593651e71b3646..ba80b5245c5af3b26175e1ca7aa2f8a21a904b6c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/ServiceMetadataConverter.java
@@ -99,7 +99,7 @@ public class ServiceMetadataConverter {
         try {
             Document serviceMetadataDoc = parse(serviceMetadataXml);
             ServiceMetadata serviceMetadata = getUnmarshaller().unmarshal(serviceMetadataDoc, ServiceMetadata.class).getValue();
-
+/*
             if (serviceMetadata!=null
                     && serviceMetadata.getServiceInformation()!=null
                     && serviceMetadata.getServiceInformation().getParticipantIdentifier()!=null
@@ -109,9 +109,11 @@ public class ServiceMetadataConverter {
                     "::"+Identifiers.EBCORE_IDENTIFIER_PREFIX)){
                 // normalize participant identifier
                 LOG.info("Normalize ebCore identifier: " + serviceMetadata.getServiceInformation().getParticipantIdentifier().getValue());
-                ParticipantIdentifierType participantIdentifierType = Identifiers.asParticipantId(serviceMetadata.getServiceInformation().getParticipantIdentifier().getValue());
+                ParticipantIdentifierType participantIdentifierType = Identifiers.asParticipantId(
+                        serviceMetadata.getServiceInformation().getParticipantIdentifier().getValue(),allowEmptyParticipantScheme);
+
                 serviceMetadata.getServiceInformation().setParticipantIdentifier(participantIdentifierType);
-            }
+            }*/
 
             return serviceMetadata;
         } catch (SAXException | IOException | ParserConfigurationException | JAXBException ex) {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverter.java
index 1cf4afa9c8a3b65cb3d03530b89e01d4bb2e5f99..3bbf56e08cb9c77845967018cfb452f84f4b3146 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverter.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverter.java
@@ -29,7 +29,7 @@ public class SmlIdentifierConverter {
         if (isBlank(smpId)) {
             throw new IllegalStateException("SMP ID is null or empty");
         }
-        if (participantId == null || isBlank(participantId.getScheme()) || isBlank(participantId.getValue())) {
+        if (participantId == null || isBlank(participantId.getValue())) {
             throw new IllegalStateException("Participant Scheme or Id is null or empty");
         }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDao.java
index 824b9f511df873726cc87cc1a35dfb316c76fdb3..348a142ac928fc57a4853106fca9e1130665f33d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDao.java
@@ -219,15 +219,21 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
      * Application event when an {@code ApplicationContext} gets initialized or refreshed
      */
     @EventListener({ContextRefreshedEvent.class})
-    void contextRefreshedEvent() {
+    protected void contextRefreshedEvent() {
+        LOG.debug("Application context is initialized: triggered  refresh  to update all property listeners");
         applicationInitialized = true;
         initiateDate = OffsetDateTime.now();
-        updatePropertyListeners();
+        reloadPropertiesFromDatabase();
     }
 
+    /**
+     * Application event when an application stops {@code ApplicationContext}
+     */
     @EventListener({ContextStoppedEvent.class})
-    void contextStopEvent() {
+    protected void contextStopEvent() {
+        LOG.debug("Application context is stopped!");
         applicationInitialized = false;
+        initiateDate =null;
     }
 
     private void updatePropertyListeners() {
@@ -238,10 +244,14 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
             LOG.debug("Application is not started. The PropertyUpdateEvent is not triggered");
             return;
         }
-
+        LOG.debug("Update all property listeners");
         Map<String, PropertyUpdateListener> updateListenerList = getPropertyUpdateListener();
         if (updateListenerList != null) {
-            updateListenerList.forEach(this::updateListener);
+            for (Map.Entry<String, PropertyUpdateListener> entry : updateListenerList.entrySet()) {
+                String key = entry.getKey();
+                PropertyUpdateListener value = entry.getValue();
+                updateListener(key, value);
+            }
         }
     }
 
@@ -255,7 +265,18 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
     private void updateListener(String name, PropertyUpdateListener listener) {
         LOG.debug("updateListener [{}]", name);
         Map<SMPPropertyEnum, Object> mapProp = new HashMap<>();
-        listener.handledProperties().forEach(prop -> mapProp.put(prop, cachedPropertyValues.get(prop.getProperty())));
+        for (SMPPropertyEnum prop : listener.handledProperties()) {
+            LOG.debug("Put property [{}]", prop.getProperty());
+            if (this.cachedPropertyValues == null) {
+                LOG.error("cachedPropertyValues is FOR SOME REASON NULL ");
+            }
+            if (this.cachedPropertyValues != null && this.cachedPropertyValues.containsKey(prop.getProperty())) {
+                LOG.debug("Put property [{}] value [{}]", prop.getProperty(), this.cachedPropertyValues.get(prop.getProperty()));
+                mapProp.put(prop, this.cachedPropertyValues.get(prop.getProperty()));
+            } else {
+                LOG.debug("Property [{}] does not exist in cached map!", prop.getProperty());
+            }
+        }
         listener.updateProperties(mapProp);
     }
 
@@ -281,7 +302,7 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
     }
 
     public Map<String, Object> validateConfiguration(Properties properties) {
-
+        LOG.debug("Validate configuration properties.");
         // test if all mandatory properties exists
         List<String> lstMissingProperties = new ArrayList<>();
         for (SMPPropertyEnum prop : SMPPropertyEnum.values()) {
@@ -294,8 +315,6 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
             LOG.error("Missing mandatory properties: [{}]. Fix the SMP configuration!", lstMissingProperties);
         }
         // update deprecated values
-
-
         properties = updateDeprecatedValues(properties);
         Map<String, Object> propertyValues = parseProperties(properties);
 
@@ -319,7 +338,6 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
 
     @Transactional
     public void updateCurrentEncryptedValues() {
-        File encryptionKey = (File) cachedPropertyValues.get(ENCRYPTION_FILENAME.getProperty());
         for (SMPPropertyEnum prop : SMPPropertyEnum.values()) {
             String value = getProperty(cachedProperties, prop);
             if (prop.isEncrypted() && !StringUtils.isBlank(value) && value.startsWith(SecurityUtils.DECRYPTED_TOKEN_PREFIX)) {
@@ -331,6 +349,7 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
 
 
     protected void validateBasicProperties(Properties properties) {
+        LOG.debug("Validated the basic configuration properties.");
         // retrieve and validate  configuration dir and encryption filename
         // because they are important for 'parsing and validating' other parameters
         String configurationDir = getProperty(properties, CONFIGURATION_DIR);
@@ -365,15 +384,16 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
 
     /**
      * Method validates if new value for deprecated value is already set. If not it set the value from deprecated property if exists!
+     *
      * @param properties
      * @return
      */
-    public Properties updateDeprecatedValues(Properties properties){
+    public Properties updateDeprecatedValues(Properties properties) {
         if (!properties.containsKey(EXTERNAL_TLS_AUTHENTICATION_CLIENT_CERT_HEADER_ENABLED.getProperty())
-                && properties.containsKey(CLIENT_CERT_HEADER_ENABLED_DEPRECATED.getProperty())){
+                && properties.containsKey(CLIENT_CERT_HEADER_ENABLED_DEPRECATED.getProperty())) {
 
             properties.setProperty(EXTERNAL_TLS_AUTHENTICATION_CLIENT_CERT_HEADER_ENABLED.getProperty(),
-                    properties.getProperty(CLIENT_CERT_HEADER_ENABLED_DEPRECATED.getProperty()) );
+                    properties.getProperty(CLIENT_CERT_HEADER_ENABLED_DEPRECATED.getProperty()));
         }
 
         return properties;
@@ -381,7 +401,7 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
 
 
     protected Map<String, Object> parseProperties(Properties properties) {
-
+        LOG.debug("Parse configuration properties.");
         // retrieve and validate  configuration dir and encryption filename
         // because they are important for 'parsing and validating' other parameters
         validateBasicProperties(properties);
@@ -391,7 +411,7 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
         File configFolder = new File(configurationDir);
         File encryptionKeyFile = new File(configurationDir, encryptionKeyFilename);
 
-        HashMap propertyValues = new HashMap();
+        HashMap<String, Object> propertyValues = new HashMap();
         // put the first two values
         propertyValues.put(CONFIGURATION_DIR.getProperty(), configFolder);
         propertyValues.put(ENCRYPTION_FILENAME.getProperty(), encryptionKeyFile);
@@ -418,6 +438,7 @@ public class ConfigurationDao extends BaseDao<DBConfiguration> {
             }
             propertyValues.put(prop.getProperty(), parsedProperty);
         }
+        LOG.debug("Parsed [{}] configuration properties.", propertyValues.size());
         return propertyValues;
     }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
index 52888adb2d09edffe00ebe945e4b85656d5a88d0..05cb2a95c124e31dee71178e98c02f8ec9c0c96d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDao.java
@@ -49,7 +49,7 @@ public class ServiceGroupDao extends BaseDao<DBServiceGroup> {
 
 
         try {
-            TypedQuery<DBServiceGroup> query = memEManager.createNamedQuery("DBServiceGroup.getServiceGroup", DBServiceGroup.class);
+            TypedQuery<DBServiceGroup> query = memEManager.createNamedQuery("DBServiceGroup.getServiceGroupByIdentifier", DBServiceGroup.class);
             query.setParameter("participantIdentifier", participantId);
             query.setParameter("participantScheme", schema);
             DBServiceGroup res = query.getSingleResult();
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
index a45748e326fc53d9d8b554cdec83ff5517b7bfe6..1caf1a0a2a4d454e489c984e43da05b3b10a353d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java
@@ -166,11 +166,6 @@ public class DBAlert extends BaseEntity {
         return properties;
     }
 
-    @Override
-    public int hashCode() {
-        return Objects.hash(super.hashCode(), id, alertType, reportingTime, alertStatus, alertLevel);
-    }
-
     @PreUpdate
     @PrePersist
     public void prePersistUpdate() {
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
index c99b8838217943fcbcfb3393b729cce1e0eff048..52a97ff9e89f83e4e56896b6f84bd9e0044a0224 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroup.java
@@ -31,9 +31,10 @@ import java.util.*;
 @org.hibernate.annotations.Table(appliesTo = "SMP_SERVICE_GROUP", comment = "Service group data - Identifier and scheme")
 @NamedQueries({
         @NamedQuery(name = "DBServiceGroup.getServiceGroupByID", query = "SELECT d FROM DBServiceGroup d WHERE d.id = :id"),
-        @NamedQuery(name = "DBServiceGroup.getServiceGroup", query = "SELECT d FROM DBServiceGroup d WHERE d.participantIdentifier = :participantIdentifier and d.participantScheme = :participantScheme"),
-        @NamedQuery(name = "DBServiceGroup.getServiceGroupList", query = "SELECT d FROM DBServiceGroup d WHERE d.participantIdentifier = :participantIdentifier and d.participantScheme = :participantScheme"),
-        @NamedQuery(name = "DBServiceGroup.deleteById", query = "DELETE FROM DBServiceGroup d WHERE d.id = :id"),
+        @NamedQuery(name = "DBServiceGroup.getServiceGroupByIdentifier", query = "SELECT d FROM DBServiceGroup d WHERE d.participantIdentifier = :participantIdentifier " +
+                " AND (:participantScheme IS NULL AND d.participantScheme IS NULL " +
+                " OR d.participantScheme = :participantScheme)"),
+       @NamedQuery(name = "DBServiceGroup.deleteById", query = "DELETE FROM DBServiceGroup d WHERE d.id = :id"),
 })
 @NamedNativeQueries({
         @NamedNativeQuery(name = "DBServiceGroup.deleteAllOwnerships", query = "DELETE FROM SMP_OWNERSHIP WHERE FK_SG_ID=:serviceGroupId")
@@ -69,7 +70,7 @@ public class DBServiceGroup extends BaseEntity {
     @Column(name = "PARTICIPANT_IDENTIFIER", length = CommonColumnsLengths.MAX_PARTICIPANT_IDENTIFIER_VALUE_LENGTH, nullable = false)
     String participantIdentifier;
 
-    @Column(name = "PARTICIPANT_SCHEME", length = CommonColumnsLengths.MAX_PARTICIPANT_IDENTIFIER_SCHEME_LENGTH, nullable = false)
+    @Column(name = "PARTICIPANT_SCHEME", length = CommonColumnsLengths.MAX_PARTICIPANT_IDENTIFIER_SCHEME_LENGTH)
     String participantScheme;
 
 
@@ -214,6 +215,15 @@ public class DBServiceGroup extends BaseEntity {
                 Objects.equals(participantScheme, that.participantScheme);
     }
 
+    @Override
+    public String toString() {
+        return new StringJoiner(", ", DBServiceGroup.class.getSimpleName() + "[", "]")
+                .add("id=" + id)
+                .add("participantIdentifier='" + participantIdentifier + "'")
+                .add("participantScheme='" + participantScheme + "'")
+                .toString();
+    }
+
     @Override
     public int hashCode() {
         return Objects.hash(super.hashCode(), id, participantIdentifier, participantScheme);
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroupDomain.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroupDomain.java
index 0f23e6e70a4ae2eea437ff6d956c3a62f2600724..a9c36673513eca8be01e1b2ccbd3df9949f712db 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroupDomain.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBServiceGroupDomain.java
@@ -20,7 +20,10 @@ import java.util.Objects;
 @NamedNativeQueries({
         @NamedNativeQuery(name = "DBServiceGroupDomain.getServiceGroupDomain", query = "SELECT sgd.* FROM SMP_DOMAIN dmn  INNER JOIN SMP_SERVICE_GROUP_DOMAIN sgd ON sgd.FK_DOMAIN_ID = dmn.id " +
                 " INNER JOIN SMP_SERVICE_GROUP sg  ON sg.ID = sgd.FK_SG_ID " +
-                " where sg.PARTICIPANT_IDENTIFIER = :participantIdentifier AND sg.PARTICIPANT_SCHEME=:participantScheme and dmn.DOMAIN_CODE =:domainCode", resultClass = DBServiceGroupDomain.class),
+                " where sg.PARTICIPANT_IDENTIFIER = :participantIdentifier " +
+                "   AND (:participantScheme IS NULL AND sg.PARTICIPANT_SCHEME IS NULL" +
+                "       OR sg.PARTICIPANT_SCHEME=:participantScheme)" +
+                "and dmn.DOMAIN_CODE =:domainCode", resultClass = DBServiceGroupDomain.class),
         @NamedNativeQuery(name = "DBServiceGroupDomain.getOwnedServiceGroupDomainForUserIdAndServiceMetadataId",
                 query = "SELECT sgd.* FROM SMP_SERVICE_GROUP_DOMAIN sgd" +
                         "   INNER JOIN SMP_SERVICE_GROUP sg  ON sg.ID = sgd.FK_SG_ID " +
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
index cbd1eae44668166eab338e2930f2c7bc8fce3dd1..1bfba5ae4e2063456bfe8fda6265f96f21b4bc08 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java
@@ -8,6 +8,7 @@ public class SmpConfigRO implements Serializable {
     boolean smlIntegrationOn;
     boolean smlParticipantMultiDomainOn;
     boolean concatEBCorePartyId;
+    boolean partyIDSchemeMandatory;
     String participantSchemaRegExp;
     String participantSchemaRegExpMessage;
 
@@ -56,6 +57,14 @@ public class SmpConfigRO implements Serializable {
         this.participantSchemaRegExpMessage = participantSchemaRegExpMessage;
     }
 
+    public boolean isPartyIDSchemeMandatory() {
+        return partyIDSchemeMandatory;
+    }
+
+    public void setPartyIDSchemeMandatory(boolean partyIDSchemeMandatory) {
+        this.partyIDSchemeMandatory = partyIDSchemeMandatory;
+    }
+
     public String getPasswordValidationRegExp() {
         return passwordValidationRegExp;
     }
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
index 8442ec4af076edfcbcf24345cfc7c45e813eefab..b02931eddc6020c911b9329467cc1300573eb889 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
@@ -15,7 +15,7 @@ public enum SMPPropertyEnum {
 
     HTTP_FORWARDED_HEADERS_ENABLED("smp.http.forwarded.headers.enabled", "false", "Use (value true) or remove (value false) forwarded headers! There are security considerations for forwarded headers since an application cannot know if the headers were added by a proxy, as intended, or by a malicious client.", false, false, false, BOOLEAN),
     HTTP_HSTS_MAX_AGE("smp.http.httpStrictTransportSecurity.maxAge", "31536000", "How long(in seconds) HSTS should last in the browser's cache(default one year)", false, false, true, INTEGER),
-    HTTP_HEADER_SEC_POLICY("smp.http.header.security.policy", "default-src 'self'; script-src 'self'; child-src 'none'; connect-src 'self'; img-src 'self'; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; form-action 'self';", "Content Security Policy (CSP)", false, false, true, STRING),
+    HTTP_HEADER_SEC_POLICY("smp.http.header.security.policy", "", "Content Security Policy (CSP) default-src 'self'; script-src 'self';  connect-src 'self'; img-src 'self'; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; form-action 'self';", false, false, true, STRING),
     // http proxy configuration
     HTTP_PROXY_HOST("smp.proxy.host", "", "The http proxy host", false, false, false, STRING),
     HTTP_NO_PROXY_HOSTS("smp.noproxy.hosts", "localhost|127.0.0.1", "list of nor proxy hosts. Ex.: localhost|127.0.0.1", false, false, false, STRING),
@@ -23,11 +23,13 @@ public enum SMPPropertyEnum {
     HTTP_PROXY_PORT("smp.proxy.port", "80", "The http proxy port", false, false, false, INTEGER),
     HTTP_PROXY_USER("smp.proxy.user", "", "The proxy user", false, false, false, STRING),
 
-    PARTC_SCH_REGEXP("identifiersBehaviour.ParticipantIdentifierScheme.validationRegex", "^((?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)|urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$)", "Participant Identifier Schema of each PUT ServiceGroup request is validated against this schema.", false, false, false, REGEXP),
+    PARTC_SCH_REGEXP("identifiersBehaviour.ParticipantIdentifierScheme.validationRegex", "^$|^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)$|^urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$", "Participant Identifier Schema of each PUT ServiceGroup request is validated against this schema.", false, false, false, REGEXP),
     PARTC_SCH_REGEXP_MSG("identifiersBehaviour.ParticipantIdentifierScheme.validationRegexMessage",
             "Participant scheme must start with:urn:oasis:names:tc:ebcore:partyid-type:(iso6523:|unregistered:) OR must be up to 25 characters long with form [domain]-[identifierArea]-[identifierType] (ex.: 'busdox-actorid-upis') and may only contain the following characters: [a-z0-9].", "Error message for UI", false, false, false, STRING),
+    PARTC_SCH_MANDATORY("identifiersBehaviour.scheme.mandatory", "true", "Scheme for participant identifier is mandatory", false, false, false, BOOLEAN),
+
     PARTC_EBCOREPARTYID_CONCATENATE("identifiersBehaviour.ParticipantIdentifierScheme.ebCoreId.concatenate",
-            "true", "Concatenate ebCore party id in XML responses <ParticipantIdentifier>urn:oasis:names:tc:ebcore:partyid-type:unregistered:test-ebcore-id</ParticipantIdentifier>", false, false, false, BOOLEAN),
+            "false", "Concatenate ebCore party id in XML responses <ParticipantIdentifier>urn:oasis:names:tc:ebcore:partyid-type:unregistered:test-ebcore-id</ParticipantIdentifier>", false, false, false, BOOLEAN),
 
     CS_PARTICIPANTS("identifiersBehaviour.caseSensitive.ParticipantIdentifierSchemes", "sensitive-participant-sc1|sensitive-participant-sc2", "Specifies schemes of participant identifiers that must be considered CASE-SENSITIVE.", false, false, false, LIST_STRING),
     CS_DOCUMENTS("identifiersBehaviour.caseSensitive.DocumentIdentifierSchemes", "casesensitive-doc-scheme1|casesensitive-doc-scheme2", "Specifies schemes of document identifiers that must be considered CASE-SENSITIVE.", false, false, false, LIST_STRING),
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorCode.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorCode.java
index 6dc32bbbb1c80ee426576f4cc9e7137e8eae8e4a..2f8a9356e4690ab8be8abd50f842c08b36b8973d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorCode.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorCode.java
@@ -59,7 +59,7 @@ public enum ErrorCode {
 
     JAXB_INITIALIZATION (500,"SMP:511",ErrorBusinessCode.TECHNICAL, "Could not create Unmarshaller for class %s!"),
     XML_PARSE_EXCEPTION (500,"SMP:512",ErrorBusinessCode.TECHNICAL, "Error occurred while parsing input stream for %s.  Error: %s!"),
-    INVALID_REQUEST(500,"SMP:513",ErrorBusinessCode.TECHNICAL, "Invalid request %s.  Error: %s!"),
+    INVALID_REQUEST(400,"SMP:513",ErrorBusinessCode.TECHNICAL, "Invalid request %s.  Error: %s!"),
     INTERNAL_ERROR (500,"SMP:514",ErrorBusinessCode.TECHNICAL, "Internal error %s.  Error: %s!"),
     CERTIFICATE_ERROR (500,"SMP:515",ErrorBusinessCode.TECHNICAL, "Certificate error %s.  Error: %s!"),
     CONFIGURATION_ERROR (500,"SMP:516",ErrorBusinessCode.TECHNICAL, "Configuration error: %s!"),
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ConfigurationService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ConfigurationService.java
index c5b25fb48a368d632386d45394503c6f4f8be793..523f0b3de3af23564e8d7ed540c93071ae130291 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ConfigurationService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ConfigurationService.java
@@ -133,6 +133,10 @@ public class ConfigurationService {
         return (List<String>) configurationDAO.getCachedPropertyValue(CS_PARTICIPANTS);
     }
 
+    public Boolean getParticipantSchemeMandatory() {
+        return (Boolean) configurationDAO.getCachedPropertyValue(PARTC_SCH_MANDATORY);
+    }
+
     public boolean isProxyEnabled() {
         String proxyHost = configurationDAO.getCachedProperty(HTTP_PROXY_HOST);
         return !StringUtils.isBlank(proxyHost);
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorService.java
new file mode 100644
index 0000000000000000000000000000000000000000..17dc306ec188686f8635e42f6afd03646db1f673
--- /dev/null
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorService.java
@@ -0,0 +1,59 @@
+package eu.europa.ec.edelivery.smp.services;
+
+import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
+import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
+import eu.europa.ec.edelivery.smp.logging.SMPLogger;
+import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.smp.spi.PayloadValidatorSpi;
+import eu.europa.ec.smp.spi.exceptions.PayloadValidatorSpiException;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+
+/**
+ * @author Joze Rihtarsic
+ * @since 4.2
+ * <p>
+ * PayloadValidatorService delegates validation to external (SPI) PayloadValidatorSpi implementations.
+ * This SPI interface is intended to allow antivirus validation using third-party antivirus software.
+ */
+@Service
+public class PayloadValidatorService {
+    private static final SMPLogger LOG = SMPLoggerFactory.getLogger(PayloadValidatorService.class);
+    List<PayloadValidatorSpi> payloadValidatorSpiList;
+
+    public PayloadValidatorService(Optional<List<PayloadValidatorSpi>> optPayloadValidatorSpiList) {
+        this.payloadValidatorSpiList = optPayloadValidatorSpiList.isPresent() ? optPayloadValidatorSpiList.get() : Collections.emptyList();
+    }
+
+    /**
+     * Validates the SMP payload with the registered PayloadValidatorSpi validators.
+     *
+     * @param payload  The payload data to be validated
+     * @param mimeType The payload mime type
+     * @throws PayloadValidatorSpiException in case the validation does not pass
+     */
+    public void validateUploadedContent(InputStream payload, String mimeType) {
+        if (payloadValidatorSpiList.isEmpty()) {
+            LOG.debug("No PayloadValidatorSpi registered. Skip validation!");
+            return;
+        }
+        LOG.debug("Validate uploaded content");
+        try {
+            for (PayloadValidatorSpi validatorSpi : payloadValidatorSpiList) {
+                LOG.debug("Validate payload with spi: [{}]!", validatorSpi);
+                validatorSpi.validatePayload(payload, mimeType);
+            }
+        } catch (PayloadValidatorSpiException e) {
+            throw new SMPRuntimeException(ErrorCode.INVALID_REQUEST, "Content validation failed", ExceptionUtils.getRootCauseMessage(e),e);
+        }
+    }
+
+    ;
+
+}
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
index 33977c8b6868e2c0b76dc9c5f26351d2c1e6192a..14b50758c79cac31fd7f2b532939464ed84ae85c 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java
@@ -139,7 +139,7 @@ public class UITruststoreService {
                     try {
                         x509Certificate.checkValidity();
                     } catch (CertificateExpiredException | CertificateNotYetValidException ex) {
-                        LOG.warn("Certificate: '{}' from truststore is not valid anymore!");
+                        LOG.warn("Certificate: [{}] from truststore is not valid anymore!", alias);
                     }
                 }
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/ExtLibraryClassLoader.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/ExtLibraryClassLoader.java
new file mode 100644
index 0000000000000000000000000000000000000000..faaeb1dba3c29516937994f282ab2ef6c465fcbc
--- /dev/null
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/ExtLibraryClassLoader.java
@@ -0,0 +1,60 @@
+package eu.europa.ec.edelivery.smp.utils;
+
+import com.google.common.collect.Lists;
+import eu.europa.ec.edelivery.smp.logging.SMPLogger;
+import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author Cosmin Baciu
+ * @author Joze Rihtarsic
+ * @since 4.2
+ *
+ * ExtLibraryClassLoader extends URLClassLoader for loading the SMP's SPI extensions.
+ * The class loader implementation is heavily inspired by the Domibus PluginClassLoader.
+ */
+public class ExtLibraryClassLoader extends URLClassLoader {
+
+    private static final SMPLogger LOG = SMPLoggerFactory.getLogger(ExtLibraryClassLoader.class);
+
+    protected File libraryFolder;
+
+    public ExtLibraryClassLoader(File libraryFolder, ClassLoader parent) throws MalformedURLException {
+        super(discoverLibraries(libraryFolder), parent);
+        this.libraryFolder = libraryFolder;
+    }
+
+    /**
+     * discovery libraries in the folder to extract the jar files url.
+     *
+     * @param libraryDirectory with the SMP library extensions.
+     * @return the urls of the jar files.
+     * @throws MalformedURLException
+     */
+    protected static URL[] discoverLibraries(File libraryDirectory) throws MalformedURLException {
+
+        final List<URI> jarUris = Arrays.asList(
+                libraryDirectory.listFiles((dir, name) -> name.toLowerCase().endsWith(".jar")))
+                .stream()
+                .map(File::toURI)
+                .collect(Collectors.toList());
+
+        final URL[] urls = new URL[jarUris.size()];
+        for (int i = 0; i < jarUris.size(); i++) {
+            urls[i] = jarUris.get(i).toURL();
+            LOG.info("Adding the following library to the classpath:[{}] ", urls[i]);
+        }
+        return urls;
+    }
+
+    public File getLibraryFolder() {
+        return libraryFolder;
+    }
+}
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizerTest.java
index b336e07bc4164813efc82cbb4028deb2114a8dd6..65ac2052f913ef0d15c48f50a748f4cd57781067 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizerTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/CaseSensitivityNormalizerTest.java
@@ -38,9 +38,9 @@ public class CaseSensitivityNormalizerTest {
 
     @Before
     public void init() {
-        normalizer = new CaseSensitivityNormalizer();
         ConfigurationService configurationService = Mockito.mock(ConfigurationService.class);
-        ReflectionTestUtils.setField(normalizer, "configurationService", configurationService);
+        normalizer = new CaseSensitivityNormalizer(configurationService);
+
         Mockito.doReturn(asList(new String[]{"case-SENSITIVE-scheme-1", "Case-SENSITIVE-Scheme-2"})).when(configurationService).getCaseSensitiveDocumentScheme();
         Mockito.doReturn(asList(new String[]{"case-sensitive-scheme-1", "Case-SENSITIVE-Scheme-2"})).when(configurationService).getCaseSensitiveParticipantScheme();
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverterTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverterTest.java
index c066be5f280f847c8bde29726a889a38d307be97..d7c5c23e70f205dcffe1f3956fdfb5618be95d14 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverterTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/SmlIdentifierConverterTest.java
@@ -18,6 +18,7 @@ import org.junit.Test;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 /**
  * Created by gutowpa on 08/01/2018.
@@ -51,13 +52,17 @@ public class SmlIdentifierConverterTest {
         SmlIdentifierConverter.toBusdoxParticipantId(participantId, null);
     }
 
-    @Test(expected = IllegalStateException.class)
-    public void negativeCaseMissingScheme() {
+    @Test
+    public void positiveCaseWithNullScheme() {
         //given
         ParticipantIdentifierType participantId = new ParticipantIdentifierType(ID_VALUE, null);
 
         //when
-        SmlIdentifierConverter.toBusdoxParticipantId(participantId, SMP_ID);
+        ServiceMetadataPublisherServiceForParticipantType result = SmlIdentifierConverter.toBusdoxParticipantId(participantId, SMP_ID);
+        //then
+        assertEquals(SMP_ID, result.getServiceMetadataPublisherID());
+        assertNull(result.getParticipantIdentifier().getScheme());
+        assertEquals(ID_VALUE, result.getParticipantIdentifier().getValue());
     }
 
     @Test(expected = IllegalStateException.class)
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationBase.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractServiceGroupDaoIntegrationTest.java
similarity index 97%
rename from smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationBase.java
rename to smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractServiceGroupDaoIntegrationTest.java
index 3dfa1a99a79a83abf22afcf3a9b3ecbdb6b1b7a1..ca22df9cfcd3772ac077178fcf1b9d9de82708e9 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationBase.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractServiceGroupDaoIntegrationTest.java
@@ -22,7 +22,7 @@ import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*;
  * @since 4.1
  */
 
-public abstract class ServiceGroupDaoIntegrationBase extends AbstractBaseDao{
+public abstract class AbstractServiceGroupDaoIntegrationTest extends AbstractBaseDao{
     @Autowired
     ServiceGroupDao testInstance;
 
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationTest.java
index f79eeb416d0382c89c4355665e7c2cde4f3a85ee..e12d044020dbece6571929dc469a29bda29612b9 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoIntegrationTest.java
@@ -3,15 +3,10 @@ package eu.europa.ec.edelivery.smp.data.dao;
 import eu.europa.ec.edelivery.smp.data.model.DBDomain;
 import eu.europa.ec.edelivery.smp.data.model.DBServiceGroup;
 import eu.europa.ec.edelivery.smp.data.model.DBUser;
-import eu.europa.ec.edelivery.smp.data.ui.ServiceGroupRO;
-import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.services.ui.filters.ServiceGroupFilter;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceMetadata;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import javax.transaction.Transactional;
 import java.util.Arrays;
@@ -29,7 +24,7 @@ import static org.junit.Assert.*;
  * @author Joze Rihtarsic
  * @since 4.1
  */
-public class ServiceGroupDaoIntegrationTest extends ServiceGroupDaoIntegrationBase {
+public class ServiceGroupDaoIntegrationTest extends AbstractServiceGroupDaoIntegrationTest {
 
     @Test
     @Transactional
@@ -54,6 +49,30 @@ public class ServiceGroupDaoIntegrationTest extends ServiceGroupDaoIntegrationBa
         assertEquals(1, res.getServiceGroupDomains().size()); // domain must be loaded
         assertEquals(d.getDomainCode(), res.getServiceGroupDomains().get(0).getDomain().getDomainCode()); // test loaded Domain
 
+    }
+    @Test
+    @Transactional
+    public void persistServiceGroupNullScheme() {
+        //  given
+        DBDomain d = domainDao.getDomainByCode(TEST_DOMAIN_CODE_1).get();
+
+        DBServiceGroup sg = new DBServiceGroup();
+        sg.setParticipantIdentifier(TEST_SG_ID_1);
+        sg.setParticipantScheme(null);
+        sg.addDomain(d);
+
+        // when
+        testInstance.persistFlushDetach(sg);
+
+        // then
+        DBServiceGroup res = testInstance.findServiceGroup(TEST_SG_ID_1, null).get();
+        assertTrue(sg != res); // test different object instance
+        assertNotNull(res.getId());
+        assertEquals(TEST_SG_ID_1, res.getParticipantIdentifier()); // test equal method - same entity
+        assertNull( res.getParticipantScheme()); // test equal method - same entity
+        assertEquals(1, res.getServiceGroupDomains().size()); // domain must be loaded
+        assertEquals(d.getDomainCode(), res.getServiceGroupDomains().get(0).getDomain().getDomainCode()); // test loaded Domain
+
     }
 
     @Test
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoMetadataIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoMetadataIntegrationTest.java
index 86c1527ce90a32bcfe275603bf93bdf75bd1133a..df70cbf0e148f5b85fb8ce181f70edcef351df0a 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoMetadataIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoMetadataIntegrationTest.java
@@ -5,8 +5,6 @@ import eu.europa.ec.edelivery.smp.data.model.DBServiceGroup;
 import eu.europa.ec.edelivery.smp.data.model.DBServiceMetadata;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import javax.transaction.Transactional;
 import java.util.Arrays;
@@ -23,7 +21,7 @@ import static org.junit.Assert.*;
  * @author Joze Rihtarsic
  * @since 4.1
  */
-public class ServiceGroupDaoMetadataIntegrationTest extends ServiceGroupDaoIntegrationBase {
+public class ServiceGroupDaoMetadataIntegrationTest extends AbstractServiceGroupDaoIntegrationTest {
 
 
     @Test
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoOwnershipIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoOwnershipIntegrationTest.java
index fce192d71160267ad5ad255480518617cf7e6728..5cc714d6a77ca33dabc674076f08d70de465b567 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoOwnershipIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ServiceGroupDaoOwnershipIntegrationTest.java
@@ -5,8 +5,6 @@ import eu.europa.ec.edelivery.smp.data.model.DBUser;
 import eu.europa.ec.edelivery.smp.testutil.TestConstants;
 import eu.europa.ec.edelivery.smp.testutil.TestDBUtils;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import javax.transaction.Transactional;
 import java.util.Optional;
@@ -22,7 +20,7 @@ import static org.junit.Assert.*;
  * @author Joze Rihtarsic
  * @since 4.1
  */
-public class ServiceGroupDaoOwnershipIntegrationTest extends ServiceGroupDaoIntegrationBase {
+public class ServiceGroupDaoOwnershipIntegrationTest extends AbstractServiceGroupDaoIntegrationTest {
 
 
     @Test
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AbstractServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AbstractServiceIntegrationTest.java
index 305667ef7ade735447dd3f649879f7f4db887b75..1544e94e4d475cd6088585c6a2d25cd41e9f177e 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AbstractServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AbstractServiceIntegrationTest.java
@@ -126,6 +126,16 @@ public abstract class AbstractServiceIntegrationTest {
         sg2d1.getUsers().add(u1);
         sg2d1.addDomain(testDomain01);
         serviceGroupDao.update(sg2d1);
+
+
+        DBServiceGroup sg2NoScheme = TestDBUtils.createDBServiceGroup(TEST_SG_ID_NO_SCHEME, null);
+        DBServiceMetadata sg1mdNoScheme = TestDBUtils.createDBServiceMetadata(TEST_SG_ID_NO_SCHEME, null,
+                TEST_DOC_ID_1, TEST_DOC_SCHEMA_1);
+        sg2NoScheme.addDomain(testDomain01);
+        sg2NoScheme.getServiceGroupDomains().get(0).addServiceMetadata(sg1mdNoScheme);
+        sg2NoScheme.getUsers().add(u1);
+        sg2NoScheme.getUsers().add(u2);
+        serviceGroupDao.persistFlushDetach(sg2NoScheme);
     }
 
     /**
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java
index 2780710d4333f385dc73d74f7bf529b0f523f751..24bab3dac6eedc09cb83a2b916426768e1c86e5c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java
@@ -131,24 +131,26 @@ public class DomainServiceSMLTest extends AbstractServiceIntegrationTest {
          * Users: USERNAME_1, USER_CERT_2
          * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1
          *    - Domain: TEST_DOMAIN_CODE_1
-         *    - Owners: USERNAME_1, USER_CERT_2
-         *    - Metadata:
-         *          - TEST_DOC_ID_1, TEST_DOC_SCHEMA_1
-         *
-         *
          * ServiceGroup2: TEST_SG_ID_2, TEST_SG_SCHEMA_2
          *    - Domain: TEST_DOMAIN_CODE_1
          *    - Owners: USERNAME_1
          *    - Metadata: /
+         *  ServiceGroup3: TEST_SG_ID_NO_SCHEME, null
+         *    - Domain: TEST_DOMAIN_CODE_1
+         *    - Owners: USERNAME_1, USER_CERT_2
+         *    - Metadata: /
          */
         DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get();
         DBServiceGroupDomain serviceGroupDomain = serviceGroupDao.findServiceGroupDomain(
                 TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
         DBServiceGroupDomain serviceGroupDomain2 = serviceGroupDao
                 .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
+        DBServiceGroupDomain serviceGroupDomain3 = serviceGroupDao
+                .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get();
         assertFalse(testDomain01.isSmlRegistered());
         assertFalse(serviceGroupDomain.isSmlRegistered());
         assertFalse(serviceGroupDomain2.isSmlRegistered());
+        assertFalse(serviceGroupDomain3.isSmlRegistered());
 
         // when
         testInstance.registerDomainAndParticipants(testDomain01);
@@ -158,20 +160,24 @@ public class DomainServiceSMLTest extends AbstractServiceIntegrationTest {
                 TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get();
         serviceGroupDomain2 = serviceGroupDao
                 .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get();
+        serviceGroupDomain3 = serviceGroupDao
+                .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get();
+
         assertTrue(testDomain01.isSmlRegistered());
         assertTrue(serviceGroupDomain.isSmlRegistered());
         assertTrue(serviceGroupDomain2.isSmlRegistered());
+        assertTrue(serviceGroupDomain3.isSmlRegistered());
 
         // one sml domain create and two participant create was called
         assertEquals(1, integrationMock.getSmpManagerClientMocks().size());
         verify(integrationMock.getSmpManagerClientMocks().get(0)).create(any());
         Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray());
 
-        assertEquals(2, integrationMock.getParticipantManagmentClientMocks().size());
+        assertEquals(3, integrationMock.getParticipantManagmentClientMocks().size());
         verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
         verify(integrationMock.getParticipantManagmentClientMocks().get(1)).create(any());
+        verify(integrationMock.getParticipantManagmentClientMocks().get(2)).create(any());
         Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
-
     }
 
     @Test
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
index 8dd0a457be3cf12f15a026fd0dbe7d6a372b009b..763004d0bc1e1bbb3d78205fc55cfa7bb74da8f2 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java
@@ -139,6 +139,24 @@ public class SMLIntegrationServiceTest extends AbstractServiceIntegrationTest {
 
     }
 
+    @Test
+    public void registerParticipantNullScheme() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
+        /* given (init database - check setup)
+         * Domain: TEST_DOMAIN_CODE_1
+         * Users: USERNAME_1, USER_CERT_2
+         * ServiceGroup1: TEST_SG_ID_NO_SCHEME, null
+         *    - Domain: TEST_DOMAIN_CODE_1
+         */
+        // when
+        testInstance.registerParticipant(TEST_SG_ID_NO_SCHEME,null,TEST_DOMAIN_CODE_1 );
+
+        //then -- expect on call
+        assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size());
+        verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any());
+        Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray());
+
+    }
+
     @Test
     public void unRegisterParticipant() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault {
         /* given (init database - check setup)
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceGroupServiceSingleDomainIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceGroupServiceSingleDomainIntegrationTest.java
index 94c52926f98b027a4af6e8e58cebd1626f63682b..8d450fa490127a7de350039bae9d7fc22a69c6e3 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceGroupServiceSingleDomainIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceGroupServiceSingleDomainIntegrationTest.java
@@ -167,7 +167,7 @@ public class ServiceGroupServiceSingleDomainIntegrationTest extends AbstractServ
         expectedExeption.expect(SMPRuntimeException.class);
         expectedExeption.expectMessage(SG_NOT_EXISTS.getMessage("service-group", "not-existing"));
         // when-then
-        testInstance.getServiceGroup(asParticipantId("not-existing::service-group") );
+        testInstance.getServiceGroup(asParticipantId("not-existing::service-group", false) );
     }
 
     @Test
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestConstants.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestConstants.java
index b2fc5ac75a30f75244e2d776879705f33c140ea2..c67dbbd7e990001f5d901918bc044544bd5f6c52 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestConstants.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestConstants.java
@@ -17,6 +17,7 @@ public class TestConstants {
     public static final String TEST_SG_ID_2 = "urn:eu:ncpb:utest";
     public static final String TEST_SG_ID_3 = "0007:002:utest";
     public static final String TEST_SG_ID_4 = "0007:004:utest";
+    public static final String TEST_SG_ID_NO_SCHEME = "No-Scheme-Party-Id";
     public static final String TEST_SG_ID_PL= "urn:poland:ncpb:utest";
     public static final String TEST_SG_ID_PL2= "urn:Poland:ncpb";
 
@@ -51,7 +52,7 @@ public class TestConstants {
     public static final String SERVICE_METADATA_XML_PATH = "/examples/services/ServiceMetadataPoland.xml";
     public static final String SIGNED_SERVICE_METADATA_XML_PATH = "/examples/services/SignedServiceMetadataPoland.xml";
 
-    public static final ParticipantIdentifierType SERVICE_GROUP_ID = asParticipantId("participant-scheme-qns::urn:eu:ncpb");
+    public static final ParticipantIdentifierType SERVICE_GROUP_ID = asParticipantId("participant-scheme-qns::urn:eu:ncpb",false);
 
     public static final String ADMIN_USERNAME = "test_admin";
     public static final String CERT_USER="CN=common name,O=org,C=BE:0000000000000066";
diff --git a/smp-soapui-tests/soapui/SMP4.0-Generic-soapui-project.xml b/smp-soapui-tests/soapui/SMP4.0-Generic-soapui-project.xml
index 6b6124f46aef4e723abe337e9870d10ee60dc7a8..c0b1e1a1435e6e7339ac4770f8f6f065589134ef 100644
--- a/smp-soapui-tests/soapui/SMP4.0-Generic-soapui-project.xml
+++ b/smp-soapui-tests/soapui/SMP4.0-Generic-soapui-project.xml
@@ -122,7 +122,10 @@
    <Extension>
       <ex:Test xmlns:ex="http://test.eu">Test</ex:Test>
    </Extension>
-</ServiceGroup>]]></con:request><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-56-Delete" method="DELETE" id="f5889514-5798-4fbe-bf1d-c5aaa792566e"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>application/xml</con:mediaType><con:params/></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500 401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>500</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>500 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Delete" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method></con:resource><con:resource name="SignedServiceMetadataIDWrongFormat" path="/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" id="05ed7407-d19e-43be-97e0-969414c666fd"><con:settings/><con:parameters/><con:method name="YYYZZZ-57-Get" method="GET" id="6168176b-9b10-487e-bedb-5f48e97fd78a"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType>application/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:SignedServiceMetadata</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>500 404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType>text/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:SignedServiceMetadata</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Get" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-58-Put" method="PUT" id="00044aac-b021-4ec0-8723-690887be30fe"><con:settings/><con:parameters/><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>text/xml</con:mediaType><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceMetadata</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>400</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500 401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>400 500</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Put" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
+</ServiceGroup>]]></con:request><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-56-Delete" method="DELETE" id="f5889514-5798-4fbe-bf1d-c5aaa792566e"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>application/xml</con:mediaType><con:params/></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500 401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>500</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>500 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Delete" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method></con:resource><con:resource name="SignedServiceMetadataIDWrongFormat" path="/{ParticipantIdentifierScheme}%3A{ParticipantIdentifier}/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" id="05ed7407-d19e-43be-97e0-969414c666fd"><con:settings/><con:parameters><con:parameter><con:name>ParticipantIdentifierScheme</con:name><con:value/><con:style>TEMPLATE</con:style><con:default/><con:description xsi:nil="true"/></con:parameter><con:parameter><con:name>ParticipantIdentifier</con:name><con:value/><con:style>TEMPLATE</con:style><con:default/><con:description xsi:nil="true"/></con:parameter></con:parameters><con:method name="YYYZZZ-57-Get" method="GET" id="6168176b-9b10-487e-bedb-5f48e97fd78a"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType>application/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:SignedServiceMetadata</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>500 404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType>text/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:SignedServiceMetadata</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Get" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value=""/>
+  <con:entry key="ParticipantIdentifier" value=""/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:request></con:method><con:method name="YYYZZZ-58-Put" method="PUT" id="00044aac-b021-4ec0-8723-690887be30fe"><con:settings/><con:parameters/><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>text/xml</con:mediaType><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceMetadata</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>400</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500 401</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>400 500</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Put" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
    <ServiceInformation>
       <ParticipantIdentifier scheme="${=request.getProperty('ParticipantIdentifierScheme').getValue()}">${=request.getProperty('ParticipantIdentifier').getValue()}</ParticipantIdentifier>
       <DocumentIdentifier scheme="${=request.getProperty('DocTypeIdentifierScheme').getValue()}">${=request.getProperty('DocTypeIdentifier').getValue()}</DocumentIdentifier>
@@ -143,7 +146,13 @@
          </Process>
       </ProcessList>
    </ServiceInformation>
-</ServiceMetadata>]]></con:request><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-59-Delete" method="DELETE" id="cccbd073-0e3d-439b-a747-946a73f5b67c"><con:settings/><con:parameters/><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403 404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>application/xml</con:mediaType><con:params/></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>401 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>404 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Delete" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method></con:resource><con:resource name="ServiceGroup Empty scheme" path="/::0088:7770010100777" id="2ff08415-f133-4c23-bf64-91204b94f5c1"><con:settings/><con:parameters/><con:method name="YYYZZZ-66-Get" method="GET" id="36ced4c8-0e92-4686-a5f4-e9c9870b721f"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType>application/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType>text/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401 500 404</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>404</con:status><con:params/></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=utf-8</con:mediaType><con:status>403</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:request name="Get" mediaType="application/xml" id="a9f15369-89e3-4e53-a448-a9881605a8b0"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://130.206.118.4/cipa-smp-full-webapp/iso6523-actorid-upis::0088:5798000000003</con:originalUri><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-67-Put" method="PUT" id="951c948c-9ef6-494b-b569-389e1dd323ea"><con:settings/><con:parameters/><con:representation type="REQUEST"><con:mediaType>text/xml</con:mediaType><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>400 403</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401 403 500 400 404</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=utf-8</con:mediaType><con:status>407</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>500</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>500 400 401</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:request name="Put" mediaType="text/xml" postQueryString="false" id="e50d78e0-763f-4bfd-aa1c-f4dcc7595a2a"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
+</ServiceMetadata>]]></con:request><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value="ehealth-actorid-qns"/>
+  <con:entry key="ParticipantIdentifier" value="0088:7770010100777"/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:request></con:method><con:method name="YYYZZZ-59-Delete" method="DELETE" id="cccbd073-0e3d-439b-a747-946a73f5b67c"><con:settings/><con:parameters/><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403 404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="REQUEST"><con:mediaType>application/xml</con:mediaType><con:params/></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>401 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml;charset=UTF-8</con:mediaType><con:status>404 400</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:request name="Delete" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:credentials><con:username>user</con:username><con:password>user</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value=""/>
+  <con:entry key="ParticipantIdentifier" value=""/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:request></con:method></con:resource><con:resource name="ServiceGroup Empty scheme" path="/::0088:7770010100777" id="2ff08415-f133-4c23-bf64-91204b94f5c1"><con:settings/><con:parameters/><con:method name="YYYZZZ-66-Get" method="GET" id="36ced4c8-0e92-4686-a5f4-e9c9870b721f"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType>application/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>404 500</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType>text/xml</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401 500 404</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>404</con:status><con:params/></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=utf-8</con:mediaType><con:status>403</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:request name="Get" mediaType="application/xml" id="a9f15369-89e3-4e53-a448-a9881605a8b0"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://130.206.118.4/cipa-smp-full-webapp/iso6523-actorid-upis::0088:5798000000003</con:originalUri><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:request></con:method><con:method name="YYYZZZ-67-Put" method="PUT" id="951c948c-9ef6-494b-b569-389e1dd323ea"><con:settings/><con:parameters/><con:representation type="REQUEST"><con:mediaType>text/xml</con:mediaType><con:params/><con:element xmlns:ns="http://busdox.org/serviceMetadata/publishing/1.0/">ns:ServiceGroup</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html;charset=utf-8</con:mediaType><con:status>400 403</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/plain</con:mediaType><con:status>403</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=UTF-8</con:mediaType><con:status>401 403 500 400 404</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>404</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/html; charset=utf-8</con:mediaType><con:status>407</con:status><con:params/><con:element>html</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>400</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType xsi:nil="true"/><con:status>500</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>text/xml</con:mediaType><con:status>500 400 401</con:status><con:params/><con:element xmlns:ec="ec:services:SMP:1.0">ec:ErrorResponse</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>200</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>201</con:status><con:params/><con:element>data</con:element></con:representation><con:request name="Put" mediaType="text/xml" postQueryString="false" id="e50d78e0-763f-4bfd-aa1c-f4dcc7595a2a"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
    <ParticipantIdentifier scheme="${=request.getProperty('ParticipantIdentifierScheme').getValue()}">${=request.getProperty('ParticipantIdentifier').getValue()}</ParticipantIdentifier>
    <ServiceMetadataReferenceCollection/>
    <Extension>
@@ -2756,7 +2765,7 @@ testRunner.testCase.testSteps['Delete ServiceGroup'].run(testRunner, context);
 </con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Get ServiceMetadata XSD_INVALID Certificate dataType" id="571834c8-c025-4211-8201-866ac58fcedd"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="GET ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Get ServiceMetadata XSD_INVALID Certificate dataType" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="108aac0b-5f2d-4000-8678-31afca1f6816" name="Valid HTTP Status Codes"><con:configuration><codes>404</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="d940f8e4-a88f-4a22-b82a-f5471ca77f38" name="Contains"><con:configuration><token>NOT_FOUND</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
   <con:entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}"/>
   <con:entry key="ParticipantIdentifier" value="${Put ServiceGroup#ParticipantIdentifier}"/>
-</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Put ServiceMetadata FORMAT_ERROR Delimiter" id="0c9d210a-6f55-4a9f-894a-95a85c804923"><con:settings/><con:config service="SMP" resourcePath="/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-58-Put" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Put ServiceMetadata FORMAT_ERROR Delimiter" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
+</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Put ServiceMetadata FORMAT_ERROR Delimiter" id="0c9d210a-6f55-4a9f-894a-95a85c804923"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}%3A{ParticipantIdentifier}/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-58-Put" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Put ServiceMetadata FORMAT_ERROR Delimiter" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
    <ServiceInformation>
       <ParticipantIdentifier scheme="${=request.getProperty('ParticipantIdentifierScheme').getValue()}">${=request.getProperty('ParticipantIdentifier').getValue()}</ParticipantIdentifier>
       <DocumentIdentifier scheme="${=request.getProperty('DocTypeIdentifierScheme').getValue()}">${=request.getProperty('DocTypeIdentifier').getValue()}</DocumentIdentifier>
@@ -2777,7 +2786,10 @@ testRunner.testCase.testSteps['Delete ServiceGroup'].run(testRunner, context);
          </Process>
       </ProcessList>
    </ServiceInformation>
-</ServiceMetadata>]]></con:request><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="0260622c-5e84-428b-85cc-e83213d6a623" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="72285da6-038e-40a6-b5cb-7c32f66bb10f" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Get ServiceMetadata FORMAT_ERROR Delimiter" id="2d0c97e6-f731-4285-b6f3-ed973b113059"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="GET ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Get ServiceMetadata FORMAT_ERROR Delimiter" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="108aac0b-5f2d-4000-8678-31afca1f6816" name="Valid HTTP Status Codes"><con:configuration><codes>404</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="8c1aa453-119a-4b89-91c1-b9ea9ded6dd7" name="Contains"><con:configuration><token>NOT_FOUND</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters><entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}" xmlns="http://eviware.com/soapui/config"/></con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Put ServiceMetadata UNAUTHOR_FIELD" id="373b57d7-42a3-4575-8cf2-0d873d97dbd4" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="PUT ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Put ServiceMetadata UNAUTHOR_FIELD" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="domain" value="${#Project#defaultDomainName}" xmlns="http://eviware.com/soapui/config"/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
+</ServiceMetadata>]]></con:request><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="0260622c-5e84-428b-85cc-e83213d6a623" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="72285da6-038e-40a6-b5cb-7c32f66bb10f" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value="ehealth-actorid-qns"/>
+  <con:entry key="ParticipantIdentifier" value=""/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Get ServiceMetadata FORMAT_ERROR Delimiter" id="2d0c97e6-f731-4285-b6f3-ed973b113059"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="GET ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Get ServiceMetadata FORMAT_ERROR Delimiter" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="108aac0b-5f2d-4000-8678-31afca1f6816" name="Valid HTTP Status Codes"><con:configuration><codes>404</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="8c1aa453-119a-4b89-91c1-b9ea9ded6dd7" name="Contains"><con:configuration><token>NOT_FOUND</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters><entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}" xmlns="http://eviware.com/soapui/config"/></con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Put ServiceMetadata UNAUTHOR_FIELD" id="373b57d7-42a3-4575-8cf2-0d873d97dbd4" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="PUT ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Put ServiceMetadata UNAUTHOR_FIELD" mediaType="text/xml" postQueryString="false" id="74cb305c-6d80-4836-a6eb-4c6cc61f0dab"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;entry key="domain" value="${#Project#defaultDomainName}" xmlns="http://eviware.com/soapui/config"/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request><![CDATA[<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05">
    <ServiceInformation>
       <ParticipantIdentifier scheme="${=request.getProperty('ParticipantIdentifierScheme').getValue()}">${=request.getProperty('ParticipantIdentifier').getValue()}</ParticipantIdentifier>
       <DocumentIdentifier scheme="${=request.getProperty('DocTypeIdentifierScheme').getValue()}">${=request.getProperty('DocTypeIdentifier').getValue()}</DocumentIdentifier>
@@ -3425,7 +3437,10 @@ testRunner.testCase.testSteps['Delete ServiceGroup'].run(testRunner, context);
 </ServiceMetadata>]]></con:request><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="9e0a9400-9bb6-42a7-9104-ef7c169997b9" name="Valid HTTP Status Codes"><con:configuration><codes>201</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
   <con:entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}"/>
   <con:entry key="ParticipantIdentifier" value="${Put ServiceGroup#ParticipantIdentifier}"/>
-</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Delete ServiceMetadata FORMAT_ERROR" id="ee2f4c33-8d90-4b08-8c8c-2a9ed564057b"><con:settings/><con:config service="SMP" resourcePath="/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-59-Delete" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Delete ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="c4033a08-4d2f-4db5-b7d2-dce1419c0401" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="abe0bedb-b702-4d19-8624-f62104ed3299" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:assertion type="Simple Contains" id="48703dfe-9df9-4ae9-854b-96b0dcb6be5e" name="Contains 2"><con:configuration><token>Malformed identifier, scheme and id should be delimited by double colon</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Get ServiceMetadata FORMAT_ERROR" id="5b1270fb-7209-478e-a9ac-d08c51c230d2"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="GET ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Get ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="108aac0b-5f2d-4000-8678-31afca1f6816" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceMetadata" id="03fa933f-9f7d-4302-86fc-edb188e88373" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="DELETE ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceMetadata" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="7e8b1492-e2f8-45aa-b293-f460e1662715" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceGroup" id="dda84879-7c1e-4019-a75b-a1428c5d8a9c" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}" methodName="DELETE ServiceGroup" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceGroup" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns::0088:7770010100777</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="030a58c2-0ac3-4d98-9575-e70e57cec7ec" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Delete ServiceMetadata FORMAT_ERROR" id="ee2f4c33-8d90-4b08-8c8c-2a9ed564057b"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}%3A{ParticipantIdentifier}/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-59-Delete" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Delete ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="c4033a08-4d2f-4db5-b7d2-dce1419c0401" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="abe0bedb-b702-4d19-8624-f62104ed3299" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:assertion type="Simple Contains" id="48703dfe-9df9-4ae9-854b-96b0dcb6be5e" name="Contains 2"><con:configuration><token>Malformed identifier, scheme and id should be delimited by double colon</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value=""/>
+  <con:entry key="ParticipantIdentifier" value=""/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Get ServiceMetadata FORMAT_ERROR" id="5b1270fb-7209-478e-a9ac-d08c51c230d2"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="GET ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Get ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="108aac0b-5f2d-4000-8678-31afca1f6816" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceMetadata" id="03fa933f-9f7d-4302-86fc-edb188e88373" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="DELETE ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceMetadata" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="7e8b1492-e2f8-45aa-b293-f460e1662715" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceGroup" id="dda84879-7c1e-4019-a75b-a1428c5d8a9c" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}" methodName="DELETE ServiceGroup" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceGroup" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns::0088:7770010100777</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="030a58c2-0ac3-4d98-9575-e70e57cec7ec" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
 <con:entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}"/>
   <con:entry key="ParticipantIdentifier" value="${Put ServiceGroup#ParticipantIdentifier}"/>
 </con:parameters></con:restRequest></con:config></con:testStep><con:tearDownScript>// Run clean test steps.
@@ -3955,7 +3970,10 @@ testRunner.testCase.testSteps['Delete ServiceGroup'].run(testRunner, context);
 </ServiceMetadata>]]></con:request><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="9e0a9400-9bb6-42a7-9104-ef7c169997b9" name="Valid HTTP Status Codes"><con:configuration><codes>201</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
   <con:entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}"/>
   <con:entry key="ParticipantIdentifier" value="${Put ServiceGroup#ParticipantIdentifier}"/>
-</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Get ServiceMetadata FORMAT_ERROR" id="9f92039e-3140-46d0-a73d-1e9c0a5e43a6"><con:settings/><con:config service="SMP" resourcePath="/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-57-Get" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Get ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="5176ed28-5b42-4f89-852e-61a0051311f0" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="0380a46c-02f4-4470-8a90-8d4faf960ade" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceMetadata" id="2fdfef48-bd82-4dec-8d2f-b26c5ac93de0" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="DELETE ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceMetadata" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="e64de946-a13c-4510-99d9-8b7304955884" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceGroup" id="5a0cc9a9-37cf-4570-8774-30d90a429b68" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}" methodName="DELETE ServiceGroup" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceGroup" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns::0088:7770010100777</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="3100cee0-5ab5-45d8-81ce-c8fc888e057b" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+</con:parameters></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="TEST Get ServiceMetadata FORMAT_ERROR" id="9f92039e-3140-46d0-a73d-1e9c0a5e43a6"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}%3A{ParticipantIdentifier}/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0" methodName="YYYZZZ-57-Get" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="TEST Get ServiceMetadata FORMAT_ERROR" mediaType="application/xml" id="798e6729-3cf8-44b5-8fc7-f19165c82521"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="5176ed28-5b42-4f89-852e-61a0051311f0" name="Valid HTTP Status Codes"><con:configuration><codes>400</codes></con:configuration></con:assertion><con:assertion type="Simple Contains" id="0380a46c-02f4-4470-8a90-8d4faf960ade" name="Contains"><con:configuration><token>FORMAT_ERROR</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
+  <con:entry key="ParticipantIdentifierScheme" value=""/>
+  <con:entry key="ParticipantIdentifier" value=""/>
+</con:parameters><con:parameterOrder><con:entry>ParticipantIdentifierScheme</con:entry><con:entry>ParticipantIdentifier</con:entry></con:parameterOrder></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceMetadata" id="2fdfef48-bd82-4dec-8d2f-b26c5ac93de0" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}/services/{DocTypeIdentifierScheme}::{DocTypeIdentifier}" methodName="DELETE ServiceMetadata" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceMetadata" mediaType="application/xml" id="cfe391c2-9084-45a5-a637-fbbc25a25f27" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns%3A%3A0088%3A7770010100777/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-001%3A%3AInvoice%23%23UBL-2.0</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="e64de946-a13c-4510-99d9-8b7304955884" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters/></con:restRequest></con:config></con:testStep><con:testStep type="restrequest" name="Delete ServiceGroup" id="5a0cc9a9-37cf-4570-8774-30d90a429b68" disabled="true"><con:settings/><con:config service="SMP" resourcePath="/{ParticipantIdentifierScheme}::{ParticipantIdentifier}" methodName="DELETE ServiceGroup" xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:restRequest name="Delete ServiceGroup" mediaType="application/xml" id="a97cde56-8e9c-4d6f-b950-faf82b0268e9" postQueryString="false"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:endpoint>${#Project#url}</con:endpoint><con:request/><con:originalUri>http://wltdgt02.cc.cec.eu.int/cipa-smp-full-webapp/ehealth-actorid-qns::0088:7770010100777</con:originalUri><con:assertion type="Valid HTTP Status Codes" id="3100cee0-5ab5-45d8-81ce-c8fc888e057b" name="Valid HTTP Status Codes"><con:configuration><codes>200</codes></con:configuration></con:assertion><con:credentials><con:username>${#Project#adminSmp1Test}</con:username><con:password>${#Project#adminSmp1TestPassword}</con:password><con:selectedAuthProfile>Basic</con:selectedAuthProfile><con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes><con:preemptive>true</con:preemptive><con:authType>Preemptive</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters>
 <con:entry key="ParticipantIdentifierScheme" value="${Put ServiceGroup#ParticipantIdentifierScheme}"/>
   <con:entry key="ParticipantIdentifier" value="${Put ServiceGroup#ParticipantIdentifier}"/>
 </con:parameters></con:restRequest></con:config></con:testStep><con:tearDownScript>// Run clean test steps.
@@ -8384,4 +8402,4 @@ test.finalize();</scriptText></con:configuration></con:assertion><con:assertion
 </con:parameters></con:restRequest></con:config></con:testStep><con:tearDownScript>// Run clean test steps.
 testRunner.testCase.testSteps['Delete ServiceMetadata'].run(testRunner, context);
 testRunner.testCase.testSteps['Delete ServiceGroup'].run(testRunner, context);
-//ExcelReporting.reportTestCase(testRunner, log)</con:tearDownScript><con:properties/><con:reportParameters/><con:breakPoints><con:testStepId>cda74952-fe52-42df-8643-8a59932a76f9</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>e84b7e54-b24e-491a-95b2-a12ff29eb5cc</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>46350f0e-d28d-4ed8-9a45-06d697f21192</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>3e085bb5-d0a1-4264-8e84-74bc84466c0e</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints></con:testCase><con:properties/><con:reportParameters/></con:testSuite><con:testSuite id="f2e20764-c52e-404a-87d9-65ac638ff0a9" name="DEV_BAMBOO_CANDIDATES"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:properties/></con:testSuite><con:requirements/><con:properties><con:property><con:name>url</con:name><con:value>http://localhost:8981/smp</con:value></con:property><con:property><con:name>reportFilePath</con:name><con:value>C:\\ec\\soapui\\reports\\SMP_TEST_4.xlsx</con:value></con:property><con:property><con:name>updateReport</con:name><con:value>false</con:value></con:property><con:property><con:name>urlExt</con:name><con:value>https://edeltest5.westeurope.cloudapp.azure.com:8443/smp</con:value></con:property><con:property><con:name>defaultParticipantIdentifierScheme</con:name><con:value>ehealth-actorid-qns</con:value></con:property><con:property><con:name>defaultParticipantIdentifier</con:name><con:value>0088:7770010100777:test</con:value></con:property><con:property><con:name>defaultDocTypeIdentifierScheme</con:name><con:value>busdox-docid-qns</con:value></con:property><con:property><con:name>defaultDocTypeIdentifier</con:name><con:value>urn:oasis:names:specification:ubl:schema:xsd:Invoice-12::Invoice##urn:www.cenbii.eu:transaction:biicoretrdm010:ver1.0:#urn:www.peppol.eu:bis:peppol4a:ver1.0::2.0</con:value></con:property><con:property><con:name>secondDefaultParticipantIdentifierScheme</con:name><con:value>iso6523-actorid-upis</con:value></con:property><con:property><con:name>secondDefaultParticipantIdentifier</con:name><con:value>0088:777002abzz777:test</con:value></con:property><con:property><con:name>secondDefaultDocTypeIdentifierScheme</con:name><con:value>busdox-docid-qns</con:value></con:property><con:property><con:name>secondDefaultDocTypeIdentifier</con:name><con:value>urn:oasis:names:specification:ubl:schema:xsd:Invoice-001::Invoice##UBL-2.0</con:value></con:property><con:property><con:name>defaultDomainName</con:name><con:value>domain</con:value></con:property><con:property><con:name>testWithMultipleDomain</con:name><con:value>false</con:value></con:property><con:property><con:name>testDB</con:name><con:value>false</con:value></con:property><con:property><con:name>jdbc.url</con:name><con:value>jdbc:oracle:thin:@localhost:51521/xe</con:value></con:property><con:property><con:name>jdbc.driver</con:name><con:value>oracle.jdbc.OracleDriver</con:value></con:property><con:property><con:name>dbUser</con:name><con:value>user</con:value></con:property><con:property><con:name>dbPassword</con:name><con:value>password</con:value></con:property><con:property><con:name>adminSmp1Test</con:name><con:value>AdminSMP1TEST</con:value></con:property><con:property><con:name>adminSmp1TestPassword</con:name><con:value>adminsmp1test</con:value></con:property><con:property><con:name>adminSmp2Test</con:name><con:value>AdminSMP2TEST</con:value></con:property><con:property><con:name>adminSmp2TestPassword</con:name><con:value>adminsmp2test</con:value></con:property><con:property><con:name>ebCoreISO6523ParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088</con:value></con:property><con:property><con:name>ebCoreUnregisteredParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:unregistered</con:value></con:property><con:property><con:name>ebCoreUnregisteredWithCatalogParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:unregistered:domain</con:value></con:property><con:property><con:name>ebCoreISO6523ParticipantIdentifier</con:name><con:value>7770010100777</con:value></con:property></con:properties><con:wssContainer/><con:databaseConnectionContainer/><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:reporting><con:xmlTemplates/><con:parameters/></con:reporting><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
+//ExcelReporting.reportTestCase(testRunner, log)</con:tearDownScript><con:properties/><con:reportParameters/><con:breakPoints><con:testStepId>cda74952-fe52-42df-8643-8a59932a76f9</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>e84b7e54-b24e-491a-95b2-a12ff29eb5cc</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>46350f0e-d28d-4ed8-9a45-06d697f21192</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints><con:breakPoints><con:testStepId>3e085bb5-d0a1-4264-8e84-74bc84466c0e</con:testStepId><con:status>NONE</con:status><con:properties/></con:breakPoints></con:testCase><con:properties/><con:reportParameters/></con:testSuite><con:testSuite id="f2e20764-c52e-404a-87d9-65ac638ff0a9" name="DEV_BAMBOO_CANDIDATES"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:properties/></con:testSuite><con:requirements/><con:properties><con:property><con:name>url</con:name><con:value>http://localhost:8982/smp</con:value></con:property><con:property><con:name>reportFilePath</con:name><con:value>C:\\ec\\soapui\\reports\\SMP_TEST_4.xlsx</con:value></con:property><con:property><con:name>updateReport</con:name><con:value>false</con:value></con:property><con:property><con:name>urlExt</con:name><con:value>https://edeltest5.westeurope.cloudapp.azure.com:8443/smp</con:value></con:property><con:property><con:name>defaultParticipantIdentifierScheme</con:name><con:value>ehealth-actorid-qns</con:value></con:property><con:property><con:name>defaultParticipantIdentifier</con:name><con:value>0088:7770010100777:test</con:value></con:property><con:property><con:name>defaultDocTypeIdentifierScheme</con:name><con:value>busdox-docid-qns</con:value></con:property><con:property><con:name>defaultDocTypeIdentifier</con:name><con:value>urn:oasis:names:specification:ubl:schema:xsd:Invoice-12::Invoice##urn:www.cenbii.eu:transaction:biicoretrdm010:ver1.0:#urn:www.peppol.eu:bis:peppol4a:ver1.0::2.0</con:value></con:property><con:property><con:name>secondDefaultParticipantIdentifierScheme</con:name><con:value>iso6523-actorid-upis</con:value></con:property><con:property><con:name>secondDefaultParticipantIdentifier</con:name><con:value>0088:777002abzz777:test</con:value></con:property><con:property><con:name>secondDefaultDocTypeIdentifierScheme</con:name><con:value>busdox-docid-qns</con:value></con:property><con:property><con:name>secondDefaultDocTypeIdentifier</con:name><con:value>urn:oasis:names:specification:ubl:schema:xsd:Invoice-001::Invoice##UBL-2.0</con:value></con:property><con:property><con:name>defaultDomainName</con:name><con:value>domain</con:value></con:property><con:property><con:name>testWithMultipleDomain</con:name><con:value>false</con:value></con:property><con:property><con:name>testDB</con:name><con:value>false</con:value></con:property><con:property><con:name>jdbc.url</con:name><con:value>jdbc:oracle:thin:@localhost:51521/xe</con:value></con:property><con:property><con:name>jdbc.driver</con:name><con:value>oracle.jdbc.OracleDriver</con:value></con:property><con:property><con:name>dbUser</con:name><con:value>user</con:value></con:property><con:property><con:name>dbPassword</con:name><con:value>password</con:value></con:property><con:property><con:name>adminSmp1Test</con:name><con:value>AdminSMP1TEST</con:value></con:property><con:property><con:name>adminSmp1TestPassword</con:name><con:value>adminsmp1test</con:value></con:property><con:property><con:name>adminSmp2Test</con:name><con:value>AdminSMP2TEST</con:value></con:property><con:property><con:name>adminSmp2TestPassword</con:name><con:value>adminsmp2test</con:value></con:property><con:property><con:name>ebCoreISO6523ParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088</con:value></con:property><con:property><con:name>ebCoreUnregisteredParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:unregistered</con:value></con:property><con:property><con:name>ebCoreUnregisteredWithCatalogParticipantIdentifierScheme</con:name><con:value>urn:oasis:names:tc:ebcore:partyid-type:unregistered:domain</con:value></con:property><con:property><con:name>ebCoreISO6523ParticipantIdentifier</con:name><con:value>7770010100777</con:value></con:property></con:properties><con:wssContainer/><con:databaseConnectionContainer/><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:reporting><con:xmlTemplates/><con:parameters/></con:reporting><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
diff --git a/smp-spi/pom.xml b/smp-spi/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ead4a25ebaf238872c2df608177fc60f3b7ad327
--- /dev/null
+++ b/smp-spi/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017 European Commission | CEF eDelivery
+  ~
+  ~ Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
+  ~ You may not use this work except in compliance with the Licence.
+  ~
+  ~ You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the Licence for the specific language governing permissions and limitations under the Licence.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>eu.europa.ec.edelivery</groupId>
+        <artifactId>smp-modules</artifactId>
+        <version>4.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>smp-spi</artifactId>
+    <name>smp-spi</name>
+    <description>SMP Service provider interface (SPI). The SMP SPI is an application interface intended to be implemented or extended
+        by a third party as library. The libraries must be added to SMP library directory and are loaded at startup.</description>
+    <dependencies>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/smp-spi/src/main/java/eu/europa/ec/smp/spi/PayloadValidatorSpi.java b/smp-spi/src/main/java/eu/europa/ec/smp/spi/PayloadValidatorSpi.java
new file mode 100644
index 0000000000000000000000000000000000000000..e82f676e8d407f17b031d327bc0a9962fa023829
--- /dev/null
+++ b/smp-spi/src/main/java/eu/europa/ec/smp/spi/PayloadValidatorSpi.java
@@ -0,0 +1,24 @@
+package eu.europa.ec.smp.spi;
+
+import eu.europa.ec.smp.spi.exceptions.PayloadValidatorSpiException;
+
+import java.io.InputStream;
+
+/**
+ * @author Joze Rihtarsic
+ * @since 4.2
+ *
+ * SMP Service provider interface (SPI) for uploaded payload validation.
+ * This SPI interface is intended to allow antivirus validation using third-party antivirus software.
+ */
+public interface PayloadValidatorSpi {
+
+    /**
+     * Validates the SMP payload. If the payload is invalid it throws  PayloadValidatorSpiException
+     *
+     * @param payload The payload data to be validated
+     * @param mimeType The payload mime type
+     * @throws PayloadValidatorSpiException in case the validation does not pass
+     */
+    void validatePayload(InputStream payload, String mimeType) throws PayloadValidatorSpiException;
+}
\ No newline at end of file
diff --git a/smp-spi/src/main/java/eu/europa/ec/smp/spi/exceptions/PayloadValidatorSpiException.java b/smp-spi/src/main/java/eu/europa/ec/smp/spi/exceptions/PayloadValidatorSpiException.java
new file mode 100644
index 0000000000000000000000000000000000000000..e68068e9044d4d1f41aac381dfea8b2c97bee864
--- /dev/null
+++ b/smp-spi/src/main/java/eu/europa/ec/smp/spi/exceptions/PayloadValidatorSpiException.java
@@ -0,0 +1,21 @@
+package eu.europa.ec.smp.spi.exceptions;
+
+/**
+ * @author Joze Rihtarsic
+ * @since 4.2
+ *
+ * The external validation library throws the exception if the payload validation does not pass.
+ */
+public class PayloadValidatorSpiException extends Exception {
+    public PayloadValidatorSpiException(String message) {
+        super(message);
+    }
+
+    public PayloadValidatorSpiException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public PayloadValidatorSpiException(Throwable cause) {
+        super(cause);
+    }
+}
diff --git a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java
index 948398ecf44bfb2db0dbb05d2cb551ffcb05a220..9162566688ce3da2678e212925f8b9038a93b4ab 100644
--- a/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java
+++ b/smp-ui-tests/src/main/java/pages/keystore/KeyStoreImportDialog.java
@@ -1,26 +1,24 @@
 package pages.keystore;
+
 import org.apache.log4j.Logger;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.PageFactory;
 import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
 import pages.components.baseComponents.PageComponent;
 import utils.PROPERTIES;
 
-import java.awt.*;
-import java.awt.datatransfer.StringSelection;
-import java.awt.event.KeyEvent;
 import java.io.File;
-import java.net.URL;
 
-public class KeyStoreImportDialog extends PageComponent{
+public class KeyStoreImportDialog extends PageComponent {
     protected Logger log = Logger.getLogger(this.getClass());
+
     public KeyStoreImportDialog(WebDriver driver) {
-            super(driver);
+        super(driver);
         PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
-              }
+    }
+
     @FindBy(xpath = "//span[text()='Import']")
     private WebElement importBtn;
 
@@ -38,34 +36,35 @@ public class KeyStoreImportDialog extends PageComponent{
 
     @FindBy(css = "#password_id")
     private WebElement passwordInput;
-    
-    public KeyStoreEditDialog clickImportBtn()
-    {
+
+    public KeyStoreEditDialog clickImportBtn() {
         log.info("clicking import btn ");
         waitForElementToBeClickable(importBtn).click();
         waitForElementToBeGone(importBtn);
         return new KeyStoreEditDialog(driver);
-        
+
     }
-    public KeyStoreEditDialog clickCancelBtn(){
+
+    public KeyStoreEditDialog clickCancelBtn() {
         log.info("clicking import keystore");
         waitForElementToBeClickable(cancelBtn).click();
         waitForElementToBeGone(cancelBtn);
         return new KeyStoreEditDialog(driver);
     }
 
-    public KeyStoreEditDialog clickCloseBtn(){
+    public KeyStoreEditDialog clickCloseBtn() {
         log.info("clicking close btn");
         waitForElementToBeClickable(closeBtn).click();
         waitForElementToBeGone(closeBtn);
         return new KeyStoreEditDialog(driver);
     }
+
     public void chooseKeystoreFile(String relativePath) {
-        String path =new File(relativePath).getAbsolutePath() ;
+        String path = new File(relativePath).getAbsolutePath();
         chooseKeystore.sendKeys(path);
     }
-    public void fillPassword(String password)
-    {
+
+    public void fillPassword(String password) {
         waitForElementToBeVisible(passwordInput).sendKeys(password);
     }
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProvider.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProvider.java
index 308882b2683373b905524ae7a6e5354479fc61d5..475a426d93a9409a844f3a944295d52a305a0397 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProvider.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProvider.java
@@ -228,11 +228,12 @@ public class SMPAuthenticationProvider implements AuthenticationProvider {
             return;
         }
 
-        if (user.getLastFailedLoginAttempt() == null) {
+        if (user.getLastTokenFailedLoginAttempt() == null) {
             LOG.warn("Access token [{}] has failed attempts [{}] but null last Failed login attempt!", user.getUsername(), user.getLastFailedLoginAttempt());
             return;
         }
-        // check if the last failed attempt is already expired. If yes just clear the attepmts
+
+        // check if the last failed attempt is already expired. If yes just clear the attempts
         if (configurationService.getAccessTokenLoginSuspensionTimeInSeconds() != null && configurationService.getAccessTokenLoginSuspensionTimeInSeconds() > 0
                 && ChronoUnit.SECONDS.between(OffsetDateTime.now(), user.getLastTokenFailedLoginAttempt()) > configurationService.getAccessTokenLoginSuspensionTimeInSeconds()) {
             LOG.warn("User [{}] suspension is expired! Clear failed login attempts and last failed login attempt", user.getUsername());
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java
new file mode 100644
index 0000000000000000000000000000000000000000..5a5666e16c6472c42c79195a7174c0b6f507d5f4
--- /dev/null
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java
@@ -0,0 +1,72 @@
+package eu.europa.ec.edelivery.smp.auth;
+
+import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.http.HttpMethod;
+import org.springframework.security.web.util.matcher.RegexRequestMatcher;
+import org.springframework.security.web.util.matcher.RequestMatcher;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+/**
+ * URLCsrfMatcher matches the request and validates if request can be ignored for CSRF.
+ * As example the non session requests (as SMP REST API) should now have the CSRF tokens.
+ *
+ * @author Joze Rihtarsic
+ * @since 4.2
+ */
+public class URLCsrfIgnoreMatcher implements RequestMatcher {
+
+    private static final Logger LOG = SMPLoggerFactory.getLogger(
+            URLCsrfIgnoreMatcher.class);
+    private List<RegexRequestMatcher> unprotectedMatcherList = new ArrayList<>();
+
+    public URLCsrfIgnoreMatcher() {
+        this(null, null);
+    }
+
+    public URLCsrfIgnoreMatcher(List<String> regularExpressions, List<HttpMethod> methods) {
+        if (regularExpressions == null || regularExpressions.isEmpty()) {
+            return;
+        }
+        regularExpressions.forEach(regexp -> addIgnoreUrl(regexp, methods));
+    }
+
+    @Override
+    public boolean matches(HttpServletRequest request) {
+        Optional<RegexRequestMatcher> unprotectedMatcher = unprotectedMatcherList.stream().filter(requestMatcher -> requestMatcher.matches(request)).findFirst();
+        if (unprotectedMatcher.isPresent()) {
+            LOG.debug("Ignore CSRF for: [{}] - [{}] with matcher [{}]!", request.getMethod(), request.getRequestURI(),unprotectedMatcher.get().toString());
+        }
+        return !unprotectedMatcher.isPresent();
+    }
+
+
+    /**
+     * Creates a case-sensitive {@code Pattern} instance to match against the request for  http method(s).
+     *
+     * @param ignoreUrlPattern the regular expression to match ignore URLs.
+     * @param httpMethods      the HTTP method(s) to match. May be null to match all methods.
+     */
+    public void addIgnoreUrl(String ignoreUrlPattern, HttpMethod... httpMethods) {
+        addIgnoreUrl(ignoreUrlPattern, httpMethods == null || httpMethods.length == 0 ? null : Arrays.asList(httpMethods));
+    }
+
+
+    /**
+     * Creates a case-sensitive {@code Pattern} instance to match against the request for  http method(s).
+     *
+     * @param ignoreUrlPattern the regular expression to match ignore URLs.
+     * @param httpMethods      list of the HTTP method(s) to match. May be null or empty to match all methods.
+     */
+    public void addIgnoreUrl(String ignoreUrlPattern, List<HttpMethod> httpMethods) {
+        if (httpMethods == null || httpMethods.isEmpty()) {
+            unprotectedMatcherList.add(new RegexRequestMatcher(ignoreUrlPattern, null));
+        } else {
+            httpMethods.forEach(httpMethod -> {
+                unprotectedMatcherList.add(new RegexRequestMatcher(ignoreUrlPattern, httpMethod.name()));
+            });
+        }
+    }
+}
\ No newline at end of file
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcher.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcher.java
deleted file mode 100644
index 3b68855f96780bd7e4be09d88c441ffc11570178..0000000000000000000000000000000000000000
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcher.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package eu.europa.ec.edelivery.smp.auth;
-
-import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.web.util.matcher.RegexRequestMatcher;
-import org.springframework.security.web.util.matcher.RequestMatcher;
-
-import javax.annotation.PostConstruct;
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-import java.util.regex.Matcher;
-
-/**
- * URLCsrfMatcher matches the request and validates if request can be ignored for CSRF.
- * As example the non session requests (as SMP REST API) should now have the CSRF tokens.
- *
- * @author Joze Rihtarsic
- * @since 4.2
- */
-public class URLCsrfMatcher implements RequestMatcher {
-
-    private static final Logger LOG = SMPLoggerFactory.getLogger(URLCsrfMatcher.class);
-    private List<RequestMatcher> unprotectedMatcherList = new ArrayList<>();
-
-
-
-    @Override
-    public boolean matches(HttpServletRequest request) {
-        Optional<RequestMatcher>  unprotectedMatcher = unprotectedMatcherList.stream().filter(requestMatcher -> requestMatcher.matches(request)).findFirst();
-        return !unprotectedMatcher.isPresent();
-    }
-
-
-    /**
-     * Creates a case-sensitive {@code Pattern} instance to match against the request for  http method(s).
-     * @param ignoreUrlPattern the regular expression to match ignore URLs.
-     * @param httpMethods the HTTP method(s) to match. May be null to match all methods.
-     */
-    public void addIgnoreUrl(String ignoreUrlPattern, HttpMethod ... httpMethods) {
-        if (httpMethods==null || httpMethods.length ==0) {
-            unprotectedMatcherList.add(new RegexRequestMatcher(ignoreUrlPattern, null));
-        } else {
-            Arrays.stream(httpMethods).forEach(httpMethod -> {
-                unprotectedMatcherList.add(new RegexRequestMatcher(ignoreUrlPattern, httpMethod.name()));
-            });
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/MDCLogRequestFilter.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/MDCLogRequestFilter.java
index bf7a8805045b3f12aeca99415c84b004fca94bed..12890f111780ff8df99a4e287ffa2c99a621800c 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/MDCLogRequestFilter.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/MDCLogRequestFilter.java
@@ -6,50 +6,39 @@ import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils;
 import org.slf4j.MDC;
 import org.springframework.web.filter.GenericFilterBean;
-import org.springframework.web.filter.OncePerRequestFilter;
 
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.UUID;
 
+/**
+ * SMP MDC logging filter sets the LOG MDC context as user, request id and session id.
+ *
+ * @author Joze Rihtarsic
+ * @since 4.2
+ */
 public class MDCLogRequestFilter extends GenericFilterBean {
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(MDCLogRequestFilter.class);
-/*
-    @Override
-    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
-        String username = SessionSecurityUtils.getAuthenticationName();
-        String requestId = UUID.randomUUID().toString();
-        String sessionId =request.getSession() != null ? request.getSession().getId() : null;
-        LOG.debug("Set request MDC data: user: [{}], request: [{}], session: [{}]!", username,requestId,sessionId);
-
-        MDC.put(SMPLogger.MDC_USER, username);
-        MDC.put(SMPLogger.MDC_REQUEST_ID, UUID.randomUUID().toString());
-        MDC.put(SMPLogger.MDC_SESSION_ID, request.getSession() != null ? request.getSession().getId() : null);
-        //filterChain.doFilter(request, response);
-        //MDC.clear();
-    }
-*/
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+        LOG.debug("Set MDC context to request!");
         String username = SessionSecurityUtils.getAuthenticationName();
         String requestId = UUID.randomUUID().toString();
-        String sessionId =null;
-        if (request instanceof  HttpServletRequest){
+        String sessionId = null;
+        if (request instanceof HttpServletRequest) {
             HttpServletRequest httpRequest = (HttpServletRequest) request;
-            sessionId =httpRequest.getSession() != null ? httpRequest.getSession().getId() : null;
+            sessionId = httpRequest.getSession() != null ? httpRequest.getSession().getId() : null;
         }
         MDC.put(SMPLogger.MDC_USER, username);
         MDC.put(SMPLogger.MDC_REQUEST_ID, requestId);
         MDC.put(SMPLogger.MDC_SESSION_ID, sessionId);
         //doFilter
         chain.doFilter(request, response);
+        LOG.debug("clear MDC context from request!");
         MDC.clear();
-
-
     }
 }
\ No newline at end of file
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/PropertiesConfig.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/PropertiesConfig.java
index 46385a701de665b55d6538bd4c0c5b020f30b2c6..ea0291c8fe00b65970671118149095c84c05da8b 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/PropertiesConfig.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/PropertiesConfig.java
@@ -24,15 +24,15 @@ import static eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum.CONFIGURA
 import static eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum.SMP_PROPERTY_REFRESH_CRON;
 
 /**
- * Created by Flavio Santos
- * Class read properties from configuration file if exists. Than it use datasource (default by JNDI
- * if not defined in property file jdbc/smpDatasource) to read application properties. Because this class is
- * invoked before datasource is initialized by default - it creates it's own database connection.
- * Also it uses hibernate to handle dates  for Configuration table.
+ * SMP application initializer. Purpose of the class is to set SMP application configuration, reads the smp properties
+ * and load classes from external libraries!
+ *
+ * @author Joze Rihtarsic
+ * @since 4.2
  */
 @Configuration
 @ComponentScan(basePackages = {
-        "eu.europa.ec.edelivery.smp"})
+        "eu.europa.ec.edelivery.smp","eu.europa.ec.smp"})
 @PropertySources({
         @PropertySource(value = "classpath:application.properties", ignoreResourceNotFound = true)
 })
@@ -41,6 +41,7 @@ public class PropertiesConfig {
     private static PropertyInitialization PROP_INIT_TOOLS = new PropertyInitialization();
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(PropertiesConfig.class);
 
+
     @Bean
     public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
         PropertySourcesPlaceholderConfigurer propertiesConfig = new PropertySourcesPlaceholderConfigurer();
@@ -54,18 +55,10 @@ public class PropertiesConfig {
         // add properties from database - add override from the database properties
         fileProperties.putAll(prop);
 
-        // log application properties
-        PROP_INIT_TOOLS.logBuildProperties();
-        // update log configuration
-        FileProperty.updateLogConfiguration(fileProperties.getProperty(FileProperty.PROPERTY_LOG_FOLDER),
-                fileProperties.getProperty(FileProperty.PROPERTY_LOG_PROPERTIES), prop.getProperty(CONFIGURATION_DIR.getProperty())
-        );
 
         propertiesConfig.setProperties(fileProperties);
         propertiesConfig.setLocalOverride(true);
         LOG.debug("Properties are initialized");
-
-
         return propertiesConfig;
     }
 }
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPInitializer.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPInitializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..8a6e92192f70c44d7e8f443e80cce6516f55d2e4
--- /dev/null
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPInitializer.java
@@ -0,0 +1,103 @@
+package eu.europa.ec.edelivery.smp.config;
+
+import eu.europa.ec.edelivery.smp.auth.URLCsrfIgnoreMatcher;
+import eu.europa.ec.edelivery.smp.exceptions.ErrorCode;
+import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
+import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.utils.ExtLibraryClassLoader;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.apache.commons.text.StringSubstitutor;
+import org.slf4j.Logger;
+import org.springframework.web.WebApplicationInitializer;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.util.Properties;
+
+import static eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum.CONFIGURATION_DIR;
+
+
+public class SMPInitializer implements WebApplicationInitializer {
+
+    private static final String FILE_APPLICATION_PROPERTIES = "/application.properties";
+
+    private static final String PROP_BUILD_NAME = "smp.artifact.name";
+    private static final String PROP_BUILD_VERSION = "smp.artifact.version";
+    private static final String PROP_BUILD_TIME = "smp.artifact.build.time";
+
+
+    private static final Logger LOG = SMPLoggerFactory.getLogger(
+            SMPInitializer.class);
+    @Override
+    public void onStartup(ServletContext servletContext) throws ServletException {
+        Properties fileProperties = FileProperty.getFileProperties();
+        logBuildProperties();
+
+        // load external libraries
+        String libraryFolderPath = StringUtils.trim(fileProperties.getProperty(FileProperty.PROPERTY_LIB_FOLDER, null));
+        if (StringUtils.isNotBlank(libraryFolderPath)){
+            File fLibraryDir = new File(libraryFolderPath);
+            ExtLibraryClassLoader pluginClassLoader = createLibraryClassLoader(fLibraryDir);
+            if (pluginClassLoader!=null){
+                LOG.debug("Add libraries from the folder: [{}]!", libraryFolderPath);
+                Thread.currentThread().setContextClassLoader(pluginClassLoader);
+            }
+        } else {
+            LOG.info("Library folder is not set!  No libraries are loaded!");
+        }
+    }
+
+    /**
+     * Method reads internal 'application.properties' file and prints the build version to the logs
+     */
+    protected void logBuildProperties() {
+        InputStream is = PropertyInitialization.class.getResourceAsStream(FILE_APPLICATION_PROPERTIES);
+        if (is != null) {
+            Properties applProp = new Properties();
+            try {
+                applProp.load(is);
+                LOG.info("*****************************************************************************************");
+                LOG.info("Start application: name: {}, version: {}, build time: {}.", applProp.getProperty(PROP_BUILD_NAME)
+                        , applProp.getProperty(PROP_BUILD_VERSION)
+                        , applProp.getProperty(PROP_BUILD_TIME));
+                LOG.info("*****************************************************************************************");
+            } catch (IOException e) {
+                LOG.error("Error occurred  while reading application properties. Is file " + FILE_APPLICATION_PROPERTIES + " included in war!", e);
+            }
+        } else {
+            LOG.error("Not found application build properties: {}!", FILE_APPLICATION_PROPERTIES);
+        }
+    }
+
+    /**
+     * Method creates the ClassLoader for the external libraries places into the smpLibrary folder.
+     *
+     * @param smpLibraryFolder is the SMP library folder
+     * @return
+     */
+    protected ExtLibraryClassLoader createLibraryClassLoader(File smpLibraryFolder) {
+        LOG.info("Load libraries from location [{}]", smpLibraryFolder);
+        if (!smpLibraryFolder.exists() ) {
+            LOG.warn("Library folder [{}] does not exist! No libraries are loaded!", smpLibraryFolder.getAbsolutePath());
+            return null;
+        }
+        if (!smpLibraryFolder.isDirectory() ) {
+            LOG.warn("Library folder [{}] is not a folder! No libraries are loaded!", smpLibraryFolder.getAbsolutePath());
+            return null;
+        }
+
+        ExtLibraryClassLoader pluginClassLoader = null;
+        try {
+            pluginClassLoader = new ExtLibraryClassLoader(smpLibraryFolder, Thread.currentThread().getContextClassLoader());
+        } catch (MalformedURLException e) {
+            LOG.error("MalformedURLException occurred while loading the external libraries from folder [{}] with error cause [{}]! No libraries are loaded!",
+                    smpLibraryFolder.getAbsolutePath(), ExceptionUtils.getRootCauseMessage(e));
+        }
+        return pluginClassLoader;
+    }
+}
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
index 5816ed719bb59b8f5bf1dcb6963777d9e1dd961a..38c38ead8397630779db4435f61bfc5820bf0264 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SmpWebAppConfig.java
@@ -49,7 +49,6 @@ public class SmpWebAppConfig implements WebMvcConfigurer {
 
     @Override
     public void addCorsMappings(CorsRegistry registry) {
-
         registry.addMapping("/**")
                 .allowedOrigins("*")
                 .allowedMethods("*");
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/UISecurityConfigurerAdapter.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/UISecurityConfigurerAdapter.java
index 25dc56e05c21d65380fb719c4d4178a4f83921c6..6d269ecaac38bf61ab677e2b92e1c8d5b061a494 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/UISecurityConfigurerAdapter.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/UISecurityConfigurerAdapter.java
@@ -2,12 +2,13 @@ package eu.europa.ec.edelivery.smp.config;
 
 
 import eu.europa.ec.edelivery.smp.auth.SMPAuthenticationProviderForUI;
-import eu.europa.ec.edelivery.smp.auth.URLCsrfMatcher;
+import eu.europa.ec.edelivery.smp.auth.URLCsrfIgnoreMatcher;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.error.SMPSecurityExceptionHandler;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import eu.europa.ec.edelivery.smp.utils.SMPCookieWriter;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -179,11 +180,11 @@ public class UISecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
                     .maxAgeInSeconds(maxAge)
                     .requestMatcher(AnyRequestMatcher.INSTANCE).and().and();
         }
-/*
+
         String contentSecurityPolicy = configurationService.getHttpHeaderContentSecurityPolicy();
         if (StringUtils.isNotBlank(contentSecurityPolicy)) {
             httpSecurity = httpSecurity.headers().contentSecurityPolicy(contentSecurityPolicy).and().and();
-        }*/
+        }
     }
 
     @Override
@@ -223,19 +224,21 @@ public class UISecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
 
     @Bean
     public RequestMatcher csrfURLMatcher() {
-        URLCsrfMatcher requestMatcher = new URLCsrfMatcher();
+        URLCsrfIgnoreMatcher requestMatcher = new URLCsrfIgnoreMatcher();
         // init pages
         requestMatcher.addIgnoreUrl("^$", HttpMethod.GET);
-        requestMatcher.addIgnoreUrl("^(/smp)?/$", HttpMethod.GET);
-        requestMatcher.addIgnoreUrl("/favicon(-[0-9x]{2,7})?.(png|ico)$", HttpMethod.GET);
+        //ignore CSRF for SMP rest API
+        requestMatcher.addIgnoreUrl("^/(?!ui/)[^/]*(/services/.*)?$", HttpMethod.GET,HttpMethod.PUT,HttpMethod.DELETE,HttpMethod.POST);
+
+        //requestMatcher.addIgnoreUrl("^(/smp)?/$", HttpMethod.GET);
+        //requestMatcher.addIgnoreUrl("/favicon(-[0-9x]{2,7})?.(png|ico)$", HttpMethod.GET);
         requestMatcher.addIgnoreUrl("^(/smp)?/(index.html|ui/(#/)?|)$", HttpMethod.GET);
         // Csrf ignore "SMP API 'stateless' calls! (each call is authenticated and session is not used!)"
-        requestMatcher.addIgnoreUrl("/.*:+.*(/services/?.*)?", HttpMethod.GET, HttpMethod.DELETE, HttpMethod.POST, HttpMethod.PUT);
+        //requestMatcher.addIgnoreUrl("/.*:+.*(/services/?.*)?", HttpMethod.GET, HttpMethod.DELETE, HttpMethod.POST, HttpMethod.PUT);
         // ignore for login and logout
         requestMatcher.addIgnoreUrl(ResourceConstants.CONTEXT_PATH_PUBLIC_SECURITY + "/authentication", HttpMethod.DELETE, HttpMethod.POST);
-
         requestMatcher.addIgnoreUrl(SMP_SECURITY_PATH_CAS_AUTHENTICATE, HttpMethod.GET);
-        // allow all gets
+        // allow all gets except for rest services
         requestMatcher.addIgnoreUrl("/ui/.*", HttpMethod.GET);
         // monitor
         requestMatcher.addIgnoreUrl("/monitor/is-alive", HttpMethod.GET);
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
index 24204d58c3d0c2a0d2cd7c41719e95e22fa99b44..35ad4ff583af732376647dc4d0cc47361ff274a6 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java
@@ -206,8 +206,7 @@ public class WSSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
             clientCertAuthenticationFilter.setClientCertAuthenticationEnabled(configurationService.isExternalTLSAuthenticationWithClientCertHeaderEnabled());
         }
         return clientCertAuthenticationFilter;
-    }
-
+   }
 
     public EDeliveryX509AuthenticationFilter getEDeliveryX509AuthenticationFilter() throws Exception {
         if (x509AuthenticationFilter == null) {
@@ -219,7 +218,6 @@ public class WSSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
         return x509AuthenticationFilter;
     }
 
-
     public void setExternalTlsAuthenticationWithClientCertHeaderEnabled(boolean clientCertEnabled) {
         try {
             getClientCertAuthenticationFilter().setClientCertAuthenticationEnabled(clientCertEnabled);
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupController.java
index 8ba71f1a4c9bff5b581634a57cae58b5cc8867e2..ce251bae57ff529fc9e8a2b17dfe0f5e4376919e 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupController.java
@@ -13,11 +13,13 @@
 
 package eu.europa.ec.edelivery.smp.controllers;
 
+import eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizer;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.conversion.ServiceGroupConverter;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.logging.SMPMessageCode;
+import eu.europa.ec.edelivery.smp.services.PayloadValidatorService;
 import eu.europa.ec.edelivery.smp.services.ServiceGroupService;
 import eu.europa.ec.edelivery.smp.services.ServiceMetadataService;
 import eu.europa.ec.edelivery.smp.validation.ServiceGroupValidator;
@@ -33,9 +35,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.annotation.Secured;
 import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.ByteArrayInputStream;
 import java.util.List;
 
 import static eu.europa.ec.edelivery.smp.controllers.WebConstans.HTTP_PARAM_DOMAIN;
@@ -55,18 +59,26 @@ public class ServiceGroupController {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(ServiceGroupController.class);
 
-    @Autowired
-    private ServiceGroupValidator serviceGroupValidator;
-
-    @Autowired
-    private SmpUrlBuilder pathBuilder;
-
-    @Autowired
-    private ServiceGroupService serviceGroupService;
-
-    @Autowired
-    private ServiceMetadataService serviceMetadataService;
-
+    protected final ServiceGroupValidator serviceGroupValidator;
+    protected final SmpUrlBuilder pathBuilder;
+    protected final ServiceGroupService serviceGroupService;
+    protected final ServiceMetadataService serviceMetadataService;
+    protected final CaseSensitivityNormalizer caseSensitivityNormalizer;
+    protected final PayloadValidatorService payloadValidatorService;
+
+    public ServiceGroupController(ServiceGroupValidator serviceGroupValidator,
+                                  SmpUrlBuilder pathBuilder,
+                                  ServiceGroupService serviceGroupService,
+                                  ServiceMetadataService serviceMetadataService,
+                                  CaseSensitivityNormalizer caseSensitivityNormalizer,
+                                  PayloadValidatorService payloadValidatorService) {
+        this.serviceGroupValidator = serviceGroupValidator;
+        this.pathBuilder = pathBuilder;
+        this.serviceGroupService = serviceGroupService;
+        this.serviceMetadataService = serviceMetadataService;
+        this.caseSensitivityNormalizer = caseSensitivityNormalizer;
+        this.payloadValidatorService = payloadValidatorService;
+    }
 
     @GetMapping(produces = "text/xml; charset=UTF-8")
     public ServiceGroup getServiceGroup(HttpServletRequest httpReq, @PathVariable String serviceGroupId) {
@@ -75,7 +87,8 @@ public class ServiceGroupController {
         String host = httpReq.getRemoteHost();
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_GET_SERVICE_GROUP, host, serviceGroupId);
 
-        ServiceGroup serviceGroup = serviceGroupService.getServiceGroup(asParticipantId(serviceGroupId));
+        ParticipantIdentifierType participantIdentifierType = caseSensitivityNormalizer.normalizeParticipant(serviceGroupId);
+        ServiceGroup serviceGroup = serviceGroupService.getServiceGroup(participantIdentifierType);
         addReferences(serviceGroup);
 
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_GET_END_SERVICE_GROUP, host, serviceGroupId);
@@ -94,7 +107,8 @@ public class ServiceGroupController {
         String authentUser = SecurityContextHolder.getContext().getAuthentication().getName();
         String host = getRemoteHost(httpReq);
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_PUT_SERVICE_GROUP, authentUser, host, serviceGroupOwner, domain, serviceGroupId);
-
+        // validate payload
+        payloadValidatorService.validateUploadedContent(new ByteArrayInputStream(body), MimeTypeUtils.APPLICATION_XML_VALUE);
         // Validations
         BdxSmpOasisValidator.validateXSD(body);
         final ServiceGroup serviceGroup = ServiceGroupConverter.unmarshal(body);
@@ -114,9 +128,8 @@ public class ServiceGroupController {
         String host = getRemoteHost(httpReq);
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_DELETE_SERVICE_GROUP, authentUser, host, serviceGroupId);
 
-
-        final ParticipantIdentifierType aServiceGroupID = Identifiers.asParticipantId(serviceGroupId);
-        serviceGroupService.deleteServiceGroup(aServiceGroupID);
+        ParticipantIdentifierType participantIdentifierType = caseSensitivityNormalizer.normalizeParticipant(serviceGroupId);
+        serviceGroupService.deleteServiceGroup(participantIdentifierType);
 
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_DELETE_END_SERVICE_GROUP, authentUser, host, serviceGroupId);
         return ok().build();
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceMetadataController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceMetadataController.java
index ce0b0da9df0eac7a9f3cc598e45fd7031a120799..e0ae31ec5f150e5f65a422e2e26f7c1ebf5b30e3 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceMetadataController.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/controllers/ServiceMetadataController.java
@@ -13,23 +13,28 @@
 
 package eu.europa.ec.edelivery.smp.controllers;
 
+import eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizer;
 import eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverter;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
 import eu.europa.ec.edelivery.smp.logging.SMPMessageCode;
+import eu.europa.ec.edelivery.smp.services.PayloadValidatorService;
 import eu.europa.ec.edelivery.smp.services.ServiceMetadataService;
 import eu.europa.ec.edelivery.smp.validation.ServiceMetadataValidator;
 import eu.europa.ec.smp.api.exceptions.XmlInvalidAgainstSchemaException;
 import org.apache.commons.lang3.StringUtils;
+import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.*;
 import org.w3c.dom.Document;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.transform.TransformerException;
+import java.io.ByteArrayInputStream;
 import java.io.UnsupportedEncodingException;
 
 import static eu.europa.ec.edelivery.smp.controllers.WebConstans.HTTP_PARAM_DOMAIN;
@@ -47,15 +52,23 @@ public class ServiceMetadataController {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(ServiceGroupController.class);
 
-    @Autowired
-    private ServiceMetadataValidator serviceMetadataValidator;
-
-    @Autowired
-    private ServiceMetadataService serviceMetadataService;
-
-
-    @Autowired
-    private SmpUrlBuilder pathBuilder;
+    protected final ServiceMetadataValidator serviceMetadataValidator;
+    protected final ServiceMetadataService serviceMetadataService;
+    protected final SmpUrlBuilder pathBuilder;
+    protected final CaseSensitivityNormalizer caseSensitivityNormalizer;
+    protected final PayloadValidatorService payloadValidatorService;
+
+    public ServiceMetadataController(ServiceMetadataValidator serviceMetadataValidator,
+                                     ServiceMetadataService serviceMetadataService,
+                                     SmpUrlBuilder pathBuilder,
+                                     CaseSensitivityNormalizer caseSensitivityNormalizer,
+                                     PayloadValidatorService payloadValidatorService) {
+        this.serviceMetadataValidator = serviceMetadataValidator;
+        this.serviceMetadataService = serviceMetadataService;
+        this.pathBuilder = pathBuilder;
+        this.caseSensitivityNormalizer = caseSensitivityNormalizer;
+        this.payloadValidatorService = payloadValidatorService;
+    }
 
     @GetMapping(produces = "text/xml; charset=UTF-8")
     public String getServiceMetadata(HttpServletRequest httpReq,
@@ -64,8 +77,8 @@ public class ServiceMetadataController {
 
         String host = httpReq.getRemoteHost();
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_GET_SERVICE_METADATA, host, serviceGroupId, serviceMetadataId);
-
-        Document serviceMetadata = serviceMetadataService.getServiceMetadataDocument(asParticipantId(serviceGroupId), asDocumentId(serviceMetadataId));
+        ParticipantIdentifierType participantIdentifierType = caseSensitivityNormalizer.normalizeParticipant(serviceGroupId);
+        Document serviceMetadata = serviceMetadataService.getServiceMetadataDocument(participantIdentifierType, asDocumentId(serviceMetadataId));
 
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_GET_END_SERVICE_METADATA, host, serviceGroupId, serviceMetadataId);
         return ServiceMetadataConverter.toString(serviceMetadata);
@@ -85,10 +98,12 @@ public class ServiceMetadataController {
         String authentUser = SecurityContextHolder.getContext().getAuthentication().getName();
         String host = getRemoteHost(httpReq);
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_PUT_SERVICE_METADATA, authentUser, host, domain, serviceGroupId, serviceMetadataId);
+        // validate payload
+        payloadValidatorService.validateUploadedContent(new ByteArrayInputStream(body), MimeTypeUtils.APPLICATION_XML_VALUE);
 
         serviceMetadataValidator.validate(serviceGroupId, serviceMetadataId, body);
-
-        boolean newServiceMetadataCreated = serviceMetadataService.saveServiceMetadata(domain, asParticipantId(serviceGroupId), asDocumentId(serviceMetadataId), body);
+        ParticipantIdentifierType participantIdentifierType = caseSensitivityNormalizer.normalizeParticipant(serviceGroupId);
+        boolean newServiceMetadataCreated = serviceMetadataService.saveServiceMetadata(domain, participantIdentifierType, asDocumentId(serviceMetadataId), body);
 
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_PUT_END_SERVICE_METADATA, authentUser, host, domain, serviceGroupId, serviceMetadataId, newServiceMetadataCreated);
 
@@ -108,8 +123,8 @@ public class ServiceMetadataController {
         String authentUser = SecurityContextHolder.getContext().getAuthentication().getName();
         String host = getRemoteHost(httpReq);
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_DELETE_SERVICE_METADATA, authentUser, host, domain, serviceGroupId, serviceMetadataId);
-
-        serviceMetadataService.deleteServiceMetadata(domain, asParticipantId(serviceGroupId), asDocumentId(serviceMetadataId));
+        ParticipantIdentifierType participantIdentifierType = caseSensitivityNormalizer.normalizeParticipant(serviceGroupId);
+        serviceMetadataService.deleteServiceMetadata(domain, participantIdentifierType, asDocumentId(serviceMetadataId));
 
         LOG.businessInfo(SMPMessageCode.BUS_HTTP_DELETE_END_SERVICE_METADATA, authentUser, host, domain, serviceGroupId, serviceMetadataId);
         return ok().build();
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/AbstractErrorControllerAdvice.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/AbstractErrorControllerAdvice.java
index 6d63882e10e9f96898bb366684fe17bd47c0ade6..9ed316716e90a752e44b4167e1f2dd5508c4fe0a 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/AbstractErrorControllerAdvice.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/AbstractErrorControllerAdvice.java
@@ -32,7 +32,7 @@ abstract class AbstractErrorControllerAdvice {
             AuthenticationException ex = (AuthenticationException)runtimeException;
             response = buildAndLog(UNAUTHORIZED, ErrorBusinessCode.UNAUTHORIZED, ex.getMessage(), ex);
         }else if (runtimeException instanceof AccessDeniedException){
-            AuthenticationException ex = (AuthenticationException)runtimeException;
+            AccessDeniedException ex = (AccessDeniedException)runtimeException;
             response = buildAndLog(UNAUTHORIZED, ErrorBusinessCode.UNAUTHORIZED, ex.getMessage(), ex);
         }
         else {
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/TruststoreResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/TruststoreResource.java
index 57459f62e8cd69f280a1da513f5448103f8402c7..99c6290e5f517aaf3dbedbec5a92e0130f891c82 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/TruststoreResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/TruststoreResource.java
@@ -7,6 +7,7 @@ import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.services.PayloadValidatorService;
 import eu.europa.ec.edelivery.smp.services.ui.UITruststoreService;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import eu.europa.ec.edelivery.smp.utils.X509CertificateUtils;
@@ -16,6 +17,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
@@ -33,13 +35,20 @@ public class TruststoreResource {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(TruststoreResource.class);
 
-    @Autowired
-    private UITruststoreService uiTruststoreService;
+    private final UITruststoreService uiTruststoreService;
+    private final PayloadValidatorService payloadValidatorService;
+
+    public TruststoreResource(UITruststoreService uiTruststoreService, PayloadValidatorService payloadValidatorService) {
+        this.uiTruststoreService = uiTruststoreService;
+        this.payloadValidatorService = payloadValidatorService;
+    }
 
     @PreAuthorize("@smpAuthorizationService.systemAdministrator || @smpAuthorizationService.isCurrentlyLoggedIn(#userId)")
     @PostMapping(path = "/{user-id}/validate-certificate", consumes = MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
     public CertificateRO validateCertificate(@PathVariable("user-id") String userId, @RequestBody byte[] data) {
         LOG.info("Got certificate data size: {}", data.length);
+        // validate uploaded content
+        payloadValidatorService.validateUploadedContent(new ByteArrayInputStream(data), MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE);
         return uiTruststoreService.getCertificateData(data, true);
     }
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResource.java
index 302dbc8137095a2b5666b43f7681fa4d2a12c0ef..1c6eb4e42ded2ff33ed33ca1d5f4f0ece2bef6b5 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResource.java
@@ -2,21 +2,14 @@ package eu.europa.ec.edelivery.smp.ui.internal;
 
 
 import eu.europa.ec.edelivery.smp.data.ui.SmpConfigRO;
-import eu.europa.ec.edelivery.smp.data.ui.SmpInfoRO;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.env.Environment;
 import org.springframework.security.access.annotation.Secured;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.TimeZone;
-
 /**
  * @author Joze Rihtarsic
  * @since 4.1
@@ -41,6 +34,7 @@ public class ApplicationAdminResource {
         info.setParticipantSchemaRegExp(configurationService.getParticipantIdentifierSchemeRexExpPattern());
         info.setParticipantSchemaRegExpMessage(configurationService.getParticipantIdentifierSchemeRexExpMessage());
         info.setConcatEBCorePartyId(configurationService.getForceConcatenateEBCorePartyId());
+        info.setPartyIDSchemeMandatory(configurationService.getParticipantSchemeMandatory());
 
         info.setPasswordValidationRegExp(configurationService.getPasswordPolicyRexExpPattern());
         info.setPasswordValidationRegExpMessage(configurationService.getPasswordPolicyValidationMessage());
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResource.java
index 788c498b040799ed990961cb25d85bf552571d67..52db33b067200e97a969c0d80d16fac5835612fb 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminResource.java
@@ -87,7 +87,7 @@ public class DomainAdminResource {
 
     @PreAuthorize("@smpAuthorizationService.systemAdministrator || @smpAuthorizationService.isCurrentlyLoggedIn(#userId)")
     @PutMapping(value = "/{user-id}/sml-register/{domain-code}")
-    public SMLIntegrationResult registerDomainAndParticipants(@PathVariable("user-id") Long userId,
+    public SMLIntegrationResult registerDomainAndParticipants(@PathVariable("user-id") String userId,
                                                               @PathVariable("domain-code") String domainCode
     ) {
         LOG.info("SML register domain code: {}, user user-id {}", domainCode, userId);
@@ -106,7 +106,7 @@ public class DomainAdminResource {
 
     @PreAuthorize("@smpAuthorizationService.systemAdministrator || @smpAuthorizationService.isCurrentlyLoggedIn(#userId)")
     @PutMapping(value = "/{user-id}/sml-unregister/{domain-code}")
-    public SMLIntegrationResult unregisterDomainAndParticipants(@PathVariable("user-id") Long userId,
+    public SMLIntegrationResult unregisterDomainAndParticipants(@PathVariable("user-id") String userId,
                                                                 @PathVariable("domain-code") String domainCode) {
         LOG.info("SML unregister domain code: {}, user id {}", domainCode, userId);
         // try to open keystore
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResource.java
index 46c16f0f094200e70e59e685f8db5d6b93fc2528..7d8bb0ac8d7e7ecd8cabf75d2f34bc06a005c67f 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/KeystoreResource.java
@@ -6,6 +6,7 @@ import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.services.PayloadValidatorService;
 import eu.europa.ec.edelivery.smp.services.ui.UIKeystoreService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.annotation.Secured;
@@ -36,8 +37,13 @@ public class KeystoreResource {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(KeystoreResource.class);
 
-    @Autowired
-    private UIKeystoreService uiKeystoreService;
+    private final UIKeystoreService uiKeystoreService;
+    private final PayloadValidatorService payloadValidatorService;
+
+    public KeystoreResource(UIKeystoreService uiKeystoreService, PayloadValidatorService payloadValidatorService) {
+        this.uiKeystoreService = uiKeystoreService;
+        this.payloadValidatorService = payloadValidatorService;
+    }
 
     @Secured({SMPAuthority.S_AUTHORITY_TOKEN_SYSTEM_ADMIN})
     @GetMapping(produces = {MimeTypeUtils.APPLICATION_JSON_VALUE})
@@ -60,6 +66,8 @@ public class KeystoreResource {
                                                @PathVariable("password") String password,
                                                @RequestBody byte[] fileBytes) {
         LOG.info("Got keystore data size: {}, type {}, password length {}", fileBytes.length, keystoreType, password.length());
+        // validate uploaded content
+        payloadValidatorService.validateUploadedContent(new ByteArrayInputStream(fileBytes), MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE);
         // try to open keystore
         KeystoreImportResult keystoreImportResult = new KeystoreImportResult();
         KeyStore keyStore = null;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResource.java
index a830610cada7ef44bf14dfb1ee81b7a1b228bedf..59d138eb1292db5fb89b21a2696ba34dcf96d00e 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResource.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/TruststoreAdminResource.java
@@ -7,15 +7,16 @@ import eu.europa.ec.edelivery.smp.data.ui.ServiceResult;
 import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException;
 import eu.europa.ec.edelivery.smp.logging.SMPLogger;
 import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory;
+import eu.europa.ec.edelivery.smp.services.PayloadValidatorService;
 import eu.europa.ec.edelivery.smp.services.ui.UITruststoreService;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import eu.europa.ec.edelivery.smp.utils.X509CertificateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.annotation.Secured;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
@@ -33,8 +34,14 @@ public class TruststoreAdminResource {
 
     private static final SMPLogger LOG = SMPLoggerFactory.getLogger(TruststoreAdminResource.class);
 
-    @Autowired
-    private UITruststoreService uiTruststoreService;
+
+    private final UITruststoreService uiTruststoreService;
+    private final PayloadValidatorService payloadValidatorService;
+
+    public TruststoreAdminResource(UITruststoreService uiTruststoreService, PayloadValidatorService payloadValidatorService) {
+        this.uiTruststoreService = uiTruststoreService;
+        this.payloadValidatorService = payloadValidatorService;
+    }
 
     @PutMapping(produces = {"application/json"})
     @RequestMapping(method = RequestMethod.GET)
@@ -57,7 +64,10 @@ public class TruststoreAdminResource {
     @PostMapping(value = "/{user-id}/upload-certificate", consumes = MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
     public CertificateRO uploadCertificate(@PathVariable("user-id") String userId,
                                            @RequestBody byte[] fileBytes) {
-        LOG.info("Got truststore cert size: {}", fileBytes.length);
+        LOG.info("Got certificate cert size: {}", fileBytes.length);
+
+        // validate content
+        payloadValidatorService.validateUploadedContent(new ByteArrayInputStream(fileBytes), MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE);
 
         X509Certificate x509Certificate;
         CertificateRO certificateRO=null;
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidator.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidator.java
index 2e6c371ba890fdaae4c65dc19fa5c4380bba150c..21d4154f48378562e89508c19370ac36414f98d4 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidator.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidator.java
@@ -13,18 +13,16 @@
 
 package eu.europa.ec.edelivery.smp.validation;
 
+import eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizer;
 import eu.europa.ec.edelivery.smp.error.exceptions.BadRequestException;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.smp.api.Identifiers;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceGroup;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceMetadataReferenceCollectionType;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
 
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.WRONG_FIELD;
 import static org.springframework.util.CollectionUtils.isEmpty;
@@ -36,22 +34,32 @@ import static org.springframework.util.CollectionUtils.isEmpty;
 @Component
 public class ServiceGroupValidator {
 
-    @Autowired
-    ConfigurationService configurationService;
+
+    protected final ConfigurationService configurationService;
+    protected final CaseSensitivityNormalizer caseSensitivityNormalizer;
+
+    public ServiceGroupValidator(ConfigurationService configurationService,
+                                 CaseSensitivityNormalizer caseSensitivityNormalizer) {
+        this.configurationService = configurationService;
+        this.caseSensitivityNormalizer = caseSensitivityNormalizer;
+    }
 
     public void validate(String serviceGroupId, ServiceGroup serviceGroup) {
 
-        final ParticipantIdentifierType participantId = Identifiers.asParticipantId(serviceGroupId);
+        final ParticipantIdentifierType participantId = caseSensitivityNormalizer.normalize(
+                Identifiers.asParticipantId(serviceGroupId, configurationService.getParticipantSchemeMandatory()));
+        final ParticipantIdentifierType serviceGroupParticipantId =  caseSensitivityNormalizer.normalize(
+                serviceGroup.getParticipantIdentifier());
 
-        if (!participantId.equals(serviceGroup.getParticipantIdentifier())) {
+        if (!participantId.equals(serviceGroupParticipantId)) {
             // Business identifier must equal path
             throw new BadRequestException(WRONG_FIELD, "Service Group Ids don't match between URL parameter and XML body");
         }
 
-        String scheme = serviceGroup.getParticipantIdentifier().getScheme();
+        String scheme = serviceGroupParticipantId.getScheme();
         Pattern schemaPattern = configurationService.getParticipantIdentifierSchemeRexExp();
 
-        if (!schemaPattern.matcher(scheme).matches()) {
+        if (!schemaPattern.matcher(scheme==null?"":scheme).matches()) {
             throw new BadRequestException(WRONG_FIELD, "Service Group scheme does not match allowed pattern: " + schemaPattern.pattern());
         }
 
diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceMetadataValidator.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceMetadataValidator.java
index 202a26d9cc8d8b48c0bc5d5b06171fe35840f516..8ffd5d076c21ef1963f391dedf4f02ffa2243185 100644
--- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceMetadataValidator.java
+++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/validation/ServiceMetadataValidator.java
@@ -13,8 +13,10 @@
 
 package eu.europa.ec.edelivery.smp.validation;
 
+import eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizer;
 import eu.europa.ec.edelivery.smp.conversion.ServiceMetadataConverter;
 import eu.europa.ec.edelivery.smp.error.exceptions.BadRequestException;
+import eu.europa.ec.edelivery.smp.services.ConfigurationService;
 import eu.europa.ec.smp.api.exceptions.XmlInvalidAgainstSchemaException;
 import eu.europa.ec.smp.api.validators.BdxSmpOasisValidator;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.*;
@@ -28,7 +30,8 @@ import java.util.Set;
 
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.OUT_OF_RANGE;
 import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.WRONG_FIELD;
-import static eu.europa.ec.smp.api.Identifiers.*;
+import static eu.europa.ec.smp.api.Identifiers.asDocumentId;
+import static eu.europa.ec.smp.api.Identifiers.asString;
 
 /**
  * Created by gutowpa on 11/09/2017.
@@ -38,67 +41,65 @@ public class ServiceMetadataValidator {
 
     private static final Logger log = LoggerFactory.getLogger(ServiceMetadataValidator.class);
 
+    protected final ConfigurationService configurationService;
+    protected final CaseSensitivityNormalizer caseSensitivityNormalizer;
+
+    public ServiceMetadataValidator(ConfigurationService configurationService,
+                                    CaseSensitivityNormalizer caseSensitivityNormalizer) {
+        this.configurationService = configurationService;
+        this.caseSensitivityNormalizer = caseSensitivityNormalizer;
+    }
+
     public void validate(String serviceGroupIdStr,
                          String serviceMetadataIdStr,
                          byte[] serviceMetadataBody
     ) throws XmlInvalidAgainstSchemaException {
-
-        BdxSmpOasisValidator.validateXSD(serviceMetadataBody);
-
-        ParticipantIdentifierType serviceGroupId = asParticipantId(serviceGroupIdStr);
+        ServiceInformationType serviceInformation = validate(serviceGroupIdStr, serviceMetadataBody);
         DocumentIdentifier serviceMetadataId = asDocumentId(serviceMetadataIdStr);
-        ServiceMetadata serviceMetadata = ServiceMetadataConverter.unmarshal(serviceMetadataBody);
-
-        ServiceInformationType serviceInformation = serviceMetadata.getServiceInformation();
-
-        if (serviceInformation == null) {
-            return;
-        }
 
-        if (!serviceGroupId.equals(serviceInformation.getParticipantIdentifier())) {
-            String errorMessage = String.format("Save service metadata was called with bad Participant ID parameters. Message body param: %s URL param: %s",
-                    asString(serviceInformation.getParticipantIdentifier()),
-                    asString(serviceGroupId));
-            log.info(errorMessage);
-            throw new BadRequestException(WRONG_FIELD, errorMessage);
-        }
-
-        if (!serviceMetadataId.equals(serviceInformation.getDocumentIdentifier())) {
+        if (serviceInformation != null && !serviceMetadataId.equals(serviceInformation.getDocumentIdentifier())) {
             String errorMessage = String.format("Save service metadata was called with bad Document ID parameters. Message body param: %s URL param: %s",
                     asString(serviceInformation.getDocumentIdentifier()),
                     asString(serviceMetadataId));
             log.info(errorMessage);
             throw new BadRequestException(WRONG_FIELD, errorMessage);
         }
-
-        validateServiceInformation(serviceInformation);
     }
 
     public ServiceInformationType validate(String serviceGroupIdStr,
-                         byte[] serviceMetadataBody
+                                           byte[] serviceMetadataBody
     ) throws XmlInvalidAgainstSchemaException {
 
         BdxSmpOasisValidator.validateXSD(serviceMetadataBody);
 
-        ParticipantIdentifierType serviceGroupId = asParticipantId(serviceGroupIdStr);
+        final ParticipantIdentifierType serviceGroupId = caseSensitivityNormalizer.normalizeParticipant(serviceGroupIdStr);
         ServiceMetadata serviceMetadata = ServiceMetadataConverter.unmarshal(serviceMetadataBody);
         ServiceInformationType serviceInformation = serviceMetadata.getServiceInformation();
 
+
+        if (serviceInformation == null && serviceMetadata.getRedirect() != null) {
+            return null;
+        }
+
         if (serviceInformation == null) {
             String errorMessage = "Missing service information";
             throw new BadRequestException(WRONG_FIELD, errorMessage);
         }
 
+        final ParticipantIdentifierType serviceGroupParticipantId = caseSensitivityNormalizer.normalize(
+                serviceInformation.getParticipantIdentifier());
 
 
-        if (!serviceGroupId.equals(serviceInformation.getParticipantIdentifier())) {
+        if (!serviceGroupId.equals(serviceGroupParticipantId)) {
             String errorMessage = String.format("Save service metadata was called with bad Participant ID parameters. Message body param: %s URL param: %s",
                     asString(serviceInformation.getParticipantIdentifier()),
                     asString(serviceGroupId));
             log.info(errorMessage);
             throw new BadRequestException(WRONG_FIELD, errorMessage);
         }
-        validateServiceInformation(serviceInformation);
+        if (serviceInformation != null) {
+            validateServiceInformation(serviceInformation);
+        }
         return serviceInformation;
     }
 
diff --git a/smp-webapp/src/main/resources/logback.xml b/smp-webapp/src/main/resources/logback.xml
index e8c6bfdc10ee6c94c6f892b81122d2aed3f8dd2c..d338d52eeca409b8384ce43953e81fc820c1b715 100644
--- a/smp-webapp/src/main/resources/logback.xml
+++ b/smp-webapp/src/main/resources/logback.xml
@@ -38,6 +38,7 @@
     </appender>
 
     <logger name="eu.europa.ec.edelivery" level="DEBUG" />
+    <logger name="eu.europa.ec.smp" level="DEBUG" />
     <logger name="org.springframework.security.cas" level="DEBUG" />
     <root level="WARN">
         <appender-ref ref="file"/>
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb.ddl b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb.ddl
index c2af152431b342ff9407349f980c4a04e1bcfade..0a97e6890a6e4cd797e570c7cd7dcbd0434b7597 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb.ddl
+++ b/smp-webapp/src/main/smp-setup/database-scripts/mysql5innodb.ddl
@@ -174,7 +174,7 @@
         CREATED_ON datetime not null,
         LAST_UPDATED_ON datetime not null,
         PARTICIPANT_IDENTIFIER varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
-        PARTICIPANT_SCHEME varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin not null,
+        PARTICIPANT_SCHEME varchar(256)  CHARACTER SET utf8 COLLATE utf8_bin,
         primary key (ID)
     ) comment='Service group data - Identifier and scheme' ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
diff --git a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g.ddl b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g.ddl
index 85a1a110131b4236e28d040207ba72b9e8663e84..6b2ad5d38ef5e34d9fddbda4183a20856e790fdd 100644
--- a/smp-webapp/src/main/smp-setup/database-scripts/oracle10g.ddl
+++ b/smp-webapp/src/main/smp-setup/database-scripts/oracle10g.ddl
@@ -269,7 +269,7 @@ create sequence SMP_USER_SEQ start with 1 increment by  1;
         CREATED_ON timestamp not null,
         LAST_UPDATED_ON timestamp not null,
         PARTICIPANT_IDENTIFIER varchar2(256 char) not null,
-        PARTICIPANT_SCHEME varchar2(256 char) not null,
+        PARTICIPANT_SCHEME varchar2(256 char),
         primary key (ID)
     );
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SecurityConfigurationClientCertTest.java b/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SecurityConfigurationClientCertTest.java
index 88c70545f46f2f3274add78065532cb8c0479682..5ebeca8a28c55ea006d491c811eedffb9ae3acad 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SecurityConfigurationClientCertTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SecurityConfigurationClientCertTest.java
@@ -15,6 +15,7 @@ package eu.europa.ec.cipa.smp.server.security;
 
 
 import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao;
+import eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils;
 import eu.europa.ec.edelivery.smp.test.testutils.X509CertificateTestUtils;
@@ -155,8 +156,10 @@ public class SecurityConfigurationClientCertTest {
     @Before
     public void setup() throws IOException {
         X509CertificateTestUtils.reloadKeystores();
-        mvc = MockMvcUtils.initializeMockMvc(context);
+
+        configurationDao.setPropertyToDatabase(SMPPropertyEnum.EXTERNAL_TLS_AUTHENTICATION_CLIENT_CERT_HEADER_ENABLED,"true", null);
         configurationDao.reloadPropertiesFromDatabase();
+        mvc = MockMvcUtils.initializeMockMvc(context);
     }
 
     @Parameterized.Parameter()
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
index 2af7bf6092689bbd5cb7d6811e8e14188dff206f..b95ba201713ffa971b93f5610be6a79a20f865d6 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java
@@ -13,6 +13,8 @@
 
 package eu.europa.ec.edelivery.smp;
 
+import org.apache.commons.lang3.StringUtils;
+
 import static java.lang.String.format;
 
 /**
@@ -28,12 +30,13 @@ public class ServiceGroupBodyUtil {
     }
 
     public static String getSampleServiceGroupBody(String scheme, String identifier) {
-        return format("<ServiceGroup xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\">\n" +
-                "   <ParticipantIdentifier scheme=\"%s\">%s</ParticipantIdentifier>\n" +
+        return "<ServiceGroup xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\">\n" +
+                "   <ParticipantIdentifier"+(scheme!=null?" scheme=\""+scheme+"\"":"")+">"+identifier+"</ParticipantIdentifier>\n" +
                 "   <ServiceMetadataReferenceCollection/>\n" +
-                " </ServiceGroup>", scheme, identifier);
+                " </ServiceGroup>";
     }
 
+
     public static  String generateServiceMetadata(String partcId, String partcSch, String docId, String docSch, String desc){
         return String.format(SIMPLE_DOCUMENT_XML,partcSch, partcId,docSch, docId, desc);
     }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8cdec98307145cc8b873ddc0861b05da2ccdecf9
--- /dev/null
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java
@@ -0,0 +1,57 @@
+package eu.europa.ec.edelivery.smp.auth;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.mockito.Mockito;
+import org.springframework.http.HttpMethod;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Collection;
+import java.util.List;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+@RunWith(Parameterized.class)
+public class URLCsrfMatcherTest {
+
+    @Parameterized.Parameters(name = "{index}: {0}")
+    public static Collection cookieWriterTestParameters() {
+        return asList(new Object[][]{
+                {"/ui/", false, asList("/.*"), null},
+                {"/ui/resource", true, asList("/!(ui/).*"), null},
+                {"/test/resource", false, asList("^/(?!ui/).*"), null},
+                {"/ui/resource", true, asList("^/(?!ui/).*"), null},
+
+        });
+    }
+
+    @Parameterized.Parameter(0)
+    public String patInfo;
+
+    @Parameterized.Parameter(1)
+    public boolean notMatchResult;
+
+    @Parameterized.Parameter(2)
+    public List<String> regExp;
+
+    @Parameterized.Parameter(3)
+    public List<HttpMethod> httpMethods;
+
+
+    @Test
+    public void matches() {
+        URLCsrfIgnoreMatcher testInstance = new URLCsrfIgnoreMatcher(regExp, httpMethods);
+
+        HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
+        Mockito.doReturn(patInfo).when(request).getPathInfo();
+        Mockito.doReturn("").when(request).getServletPath();
+
+        boolean result = testInstance.matches(request);
+        assertEquals(notMatchResult, result);
+
+
+    }
+}
\ No newline at end of file
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupControllerTest.java
index 96f624a269d2ea41b53bf832078c3936244b2a4a..1168c49e54c0469d101e8928be171fa09d844f79 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupControllerTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ServiceGroupControllerTest.java
@@ -66,9 +66,11 @@ public class ServiceGroupControllerTest {
     private static final String DOCUMENT_ID = "invoice";
 
     private static final String URL_PATH = format("/%s::%s", PARTICIPANT_SCHEME, PARTICIPANT_ID);
+    private static final String URL_PATH_NULL_SCHEME = format("/%s", PARTICIPANT_ID);
     private static final String URL_DOC_PATH = format("%s/services/%s::%s", URL_PATH, DOCUMENT_SCHEME, DOCUMENT_ID);
 
-    private static final String SERVICE_GROUP_INPUT_BODY = getSampleServiceGroupBodyWithScheme(PARTICIPANT_SCHEME);
+    private static final String SERVICE_GROUP_INPUT = getSampleServiceGroupBodyWithScheme(PARTICIPANT_SCHEME);
+    private static final String SERVICE_GROUP_INPUT_NULL_SCHEME = getSampleServiceGroupBodyWithScheme(null);
     private static final String HTTP_HEADER_KEY_DOMAIN = "Domain";
     private static final String HTTP_HEADER_KEY_SERVICE_GROUP_OWNER = "ServiceGroup-Owner";
     private static final String HTTP_DOMAIN_VALUE = "domain";
@@ -116,7 +118,19 @@ public class ServiceGroupControllerTest {
                 .with(ADMIN_CREDENTIALS)
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
+                .andExpect(status().isCreated());
+    }
+
+    @Test
+    public void adminCanCreateServiceGroupNullScheme() throws Exception {
+        // make sure identifiersBehaviour.scheme.allowNull is set to true in db script
+        // set identifiersBehaviour.scheme.mandatory to false
+        mvc.perform(put(URL_PATH_NULL_SCHEME)
+                .with(ADMIN_CREDENTIALS)
+                .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
+                .contentType(APPLICATION_XML_VALUE)
+                .content(SERVICE_GROUP_INPUT_NULL_SCHEME))
                 .andExpect(status().isCreated());
     }
 
@@ -126,14 +140,14 @@ public class ServiceGroupControllerTest {
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .with(ADMIN_CREDENTIALS)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isCreated());
 
         mvc.perform(put(URL_PATH)
                 .with(ADMIN_CREDENTIALS)
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isOk());
     }
 
@@ -143,11 +157,11 @@ public class ServiceGroupControllerTest {
                 .with(ADMIN_CREDENTIALS)
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isCreated());
 
         mvc.perform(get(URL_PATH))
-                .andExpect(content().xml(SERVICE_GROUP_INPUT_BODY));
+                .andExpect(content().xml(SERVICE_GROUP_INPUT));
 
     }
 
@@ -317,7 +331,7 @@ public class ServiceGroupControllerTest {
         mvc.perform(put(URL_PATH)
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isUnauthorized());
 
         mvc.perform(get(URL_PATH))
@@ -330,7 +344,7 @@ public class ServiceGroupControllerTest {
                 .with(ADMIN_CREDENTIALS)
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isCreated());
 
         mvc.perform(delete(URL_PATH)
@@ -370,7 +384,7 @@ public class ServiceGroupControllerTest {
                 .with(ADMIN_CREDENTIALS)
                 .contentType(APPLICATION_XML_VALUE)
                 .header(HTTP_HEADER_KEY_DOMAIN, "not-existing-domain")
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isBadRequest())
                 .andExpect(content().string(stringContainsInOrder("FORMAT_ERROR")));
     }
@@ -381,7 +395,7 @@ public class ServiceGroupControllerTest {
                 .with(ADMIN_CREDENTIALS)
                 .contentType(APPLICATION_XML_VALUE)
                 .header(HTTP_HEADER_KEY_DOMAIN, "notExistingDomain")
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isNotFound())
                 .andExpect(content().string(stringContainsInOrder("NOT_FOUND")));
     }
@@ -393,7 +407,7 @@ public class ServiceGroupControllerTest {
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
                 .header(HTTP_HEADER_KEY_SERVICE_GROUP_OWNER, OTHER_OWNER_NAME_URL_ENCODED)
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isCreated());
     }
 
@@ -404,7 +418,7 @@ public class ServiceGroupControllerTest {
                 .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE)
                 .contentType(APPLICATION_XML_VALUE)
                 .header(HTTP_HEADER_KEY_SERVICE_GROUP_OWNER, "not-existing-user")
-                .content(SERVICE_GROUP_INPUT_BODY))
+                .content(SERVICE_GROUP_INPUT))
                 .andExpect(status().isBadRequest());
     }
 
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResourceIntegrationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResourceIntegrationTest.java
index 4666c7a0e89266d1aa99f23d0ad2a5d142b8ae07..af87c66f90419fe8864c167e09b53fd5a6f74da7 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResourceIntegrationTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/ApplicationAdminResourceIntegrationTest.java
@@ -2,6 +2,7 @@ package eu.europa.ec.edelivery.smp.ui.internal;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import eu.europa.ec.edelivery.smp.data.ui.SmpConfigRO;
+import eu.europa.ec.edelivery.smp.data.ui.enums.SMPPropertyEnum;
 import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig;
 import eu.europa.ec.edelivery.smp.ui.ResourceConstants;
 import org.junit.Before;
@@ -125,8 +126,8 @@ public class ApplicationAdminResourceIntegrationTest {
 
         assertNotNull(res);
         assertEquals("Participant scheme must start with:urn:oasis:names:tc:ebcore:partyid-type:(iso6523:|unregistered:) OR must be up to 25 characters long with form [domain]-[identifierArea]-[identifierType] (ex.: 'busdox-actorid-upis') and may only contain the following characters: [a-z0-9].", res.getParticipantSchemaRegExpMessage());
-        assertEquals("^((?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)|urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$)", res.getParticipantSchemaRegExp());
-        assertTrue(res.isConcatEBCorePartyId());
+        assertEquals("^$|^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)$|^urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$", res.getParticipantSchemaRegExp());
+        assertEquals(SMPPropertyEnum.PARTC_EBCOREPARTYID_CONCATENATE.getDefValue(), res.isConcatEBCorePartyId()+"");
         assertFalse(res.isSmlIntegrationOn());
         assertFalse(res.isSmlParticipantMultiDomainOn());
     }
diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidatorTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidatorTest.java
index 6a61d0481b28c86c281c26458bb0df9f5ee490d9..109c6aa0b0157aa6f73b5f025e308637b3889262 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidatorTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/validation/ServiceGroupValidatorTest.java
@@ -13,84 +13,101 @@
 
 package eu.europa.ec.edelivery.smp.validation;
 
+import eu.europa.ec.edelivery.smp.conversion.CaseSensitivityNormalizer;
 import eu.europa.ec.edelivery.smp.error.exceptions.BadRequestException;
 import eu.europa.ec.edelivery.smp.services.ConfigurationService;
+import eu.europa.ec.smp.api.exceptions.MalformedIdentifierException;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.MatcherAssert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.mockito.Mockito;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ParticipantIdentifierType;
 import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceGroup;
-import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceMetadataReferenceCollectionType;
-import org.oasis_open.docs.bdxr.ns.smp._2016._05.ServiceMetadataReferenceType;
-import org.springframework.test.util.ReflectionTestUtils;
 
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.regex.Pattern;
 
 import static eu.europa.ec.smp.api.Identifiers.asString;
-import static java.util.Arrays.asList;
 
 /**
  * Created by gutowpa on 02/08/2017.
  */
+@RunWith(Parameterized.class)
 public class ServiceGroupValidatorTest {
 
-    private static final String ALLOWED_SCHEME_REGEXP = "^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)";
+    private static final String ALLOWED_SCHEME_REGEXP = "^$|^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)$|^urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$";
 
     private ServiceGroupValidator validator;
+    ConfigurationService configurationService = Mockito.mock(ConfigurationService.class);
+    CaseSensitivityNormalizer normalizer = new CaseSensitivityNormalizer(configurationService);
+
+    @Parameterized.Parameters(name = "{index}: {0}")
+    public static Collection<Object[]> data() {
+        return Arrays.asList(new Object[][]{
+
+                {"Good peppol schema", "good6-scheme4-ok", "urn:poland:ncpb", false, true, null, null},
+                {"Allowed null schema", null, "urn:poland:ncpb", false, false, null, null},
+                {"Length exceeded", "ength-exceeeeeedsTheCharacters-25chars", "urn:poland:ncpb", true, true, BadRequestException.class, "Service Group scheme does not match allowed pattern:"},
+                {"Too many parts", "too-many-segments-inside", "urn:poland:ncpb", true, true, BadRequestException.class, "Service Group scheme does not match allowed pattern:"},
+                {"Missing parts", "only-two", "urn:poland:ncpb", true, true, BadRequestException.class, "Service Group scheme does not match allowed pattern:"},
+                {"Null not allowed", null, "urn:poland:ncpb", true, true, MalformedIdentifierException.class, "Malformed identifier, scheme and id should be delimited by double colon"},
+                {"EBCorePartyId Oasis", "urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088", "123456", false, true, null, null},
+                {"EBCorePartyId eDelivery", null, "urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088:123456", false, true, null, null},
+        });
+    }
 
     @Before
     public void init() {
-        validator = new ServiceGroupValidator();
-        ConfigurationService configurationService = Mockito.mock(ConfigurationService.class);
-        ReflectionTestUtils.setField(validator, "configurationService",configurationService );
         Mockito.doReturn(Pattern.compile(ALLOWED_SCHEME_REGEXP)).when(configurationService).getParticipantIdentifierSchemeRexExp();
+        validator = new ServiceGroupValidator(configurationService, normalizer);
     }
 
-    @Test
-    public void testPositiveGoodScheme() throws Throwable {
-        validateBadScheme("good6-scheme4-ok");
-    }
-
-    @Test(expected = BadRequestException.class)
-    public void testServiceGroupIdentifierSchemeValidationTooLong() throws Throwable {
-        validateBadScheme("length-exceeeeeeds-25chars");
-    }
+    @Parameterized.Parameter
+    public String caseName;
+    @Parameterized.Parameter(1)
+    public String schema;
+    @Parameterized.Parameter(2)
+    public String value;
+    @Parameterized.Parameter(3)
+    public boolean expectedThrowError;
+    @Parameterized.Parameter(4)
+    public boolean mandatoryScheme;
+    @Parameterized.Parameter(5)
+    public Class errorClass;
+    @Parameterized.Parameter(6)
+    public String errorMessage;
 
-    @Test(expected = BadRequestException.class)
-    public void testServiceGroupIdentifierSchemeValidationNotBuiltWithThreeSegments() throws Throwable {
-        validateBadScheme("too-many-segments-inside");
-    }
 
-    @Test(expected = BadRequestException.class)
-    public void testServiceGroupIdentifierSchemeValidationTooLittleSegments() throws Throwable {
-        validateBadScheme("only-two");
-    }
+    @Test
+    public void testServiceGroupIdentifier() {
+        Mockito.doReturn(mandatoryScheme).when(configurationService).getParticipantSchemeMandatory();
 
-    @Test(expected = BadRequestException.class)
-    public void testServiceGroupIdentifierSchemeValidationIllegalChar() throws Throwable {
-        validateBadScheme("illegal-char-here:");
+        validateScheme(schema, value);
     }
 
-    private void validateBadScheme(String scheme) throws Throwable {
+    private void validateScheme(String scheme, String value) {
         ServiceGroup sg = new ServiceGroup();
-        ParticipantIdentifierType id = new ParticipantIdentifierType("urn:poland:ncpb", scheme);
+        ParticipantIdentifierType id = new ParticipantIdentifierType(value, scheme);
         sg.setParticipantIdentifier(id);
 
-        validator.validate(asString(id), sg);
+        try {
+            validator.validate(asString(id), sg);
+            if (expectedThrowError) {
+                Assert.fail();
+            }
+        } catch (RuntimeException exc) {
+            if (!expectedThrowError) {
+                Assert.fail();
+            }
+            Assert.assertEquals(errorClass, exc.getClass());
+            MatcherAssert.assertThat(exc.getMessage(), CoreMatchers.startsWith(errorMessage));
+        }
     }
 
-    @Test(expected = BadRequestException.class)
-    public void testServiceGroupWithReference() throws Throwable {
-        //given
-        ServiceMetadataReferenceType ref = new ServiceMetadataReferenceType("http://poland.pl");
-        ServiceMetadataReferenceCollectionType references = new ServiceMetadataReferenceCollectionType(asList(ref));
-
-        ParticipantIdentifierType id = new ParticipantIdentifierType("urn:poland:ncpb", "correct-scheme-ok");
-        ServiceGroup sg = new ServiceGroup();
-        sg.setServiceMetadataReferenceCollection(references);
-        sg.setParticipantIdentifier(id);
 
-        //when-then
-        validator.validate(asString(id), sg);
-    }
 }
diff --git a/smp-webapp/src/test/resources/webapp_integration_test_data.sql b/smp-webapp/src/test/resources/webapp_integration_test_data.sql
index d35399ce75f2f605b7d36f3895526c8b54bc3c24..69dffb3513d99c700803269af63cf90d080ba7f9 100644
--- a/smp-webapp/src/test/resources/webapp_integration_test_data.sql
+++ b/smp-webapp/src/test/resources/webapp_integration_test_data.sql
@@ -23,6 +23,8 @@ insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VAL
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('bdmsl.integration.enabled', 'false',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.http.forwarded.headers.enabled', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.automation.authentication.external.tls.clientCert.enabled', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('identifiersBehaviour.scheme.mandatory', 'false',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+
 
 insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (1, 'smp_admin', '$2a$06$AXSSUDJlpzzq/gPZb7eIBeb8Mi0.PTKqDjzujZH.bWPwj5.ePEInW','pat_smp_admin', '$2a$10$bP44Ij/mE6U6OUo/QrKCvOb7ouSClKnyE0Ak6t58BLob9OTI534IO', 'SMP_ADMIN', 1,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP());
 insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (2, 'sg_admin', '$2a$06$AXSSUDJlpzzq/gPZb7eIBeb8Mi0.PTKqDjzujZH.bWPwj5.ePEInW', 'pat_sg_admin', '$2a$10$bP44Ij/mE6U6OUo/QrKCvOb7ouSClKnyE0Ak6t58BLob9OTI534IO', 'SERVICE_GROUP_ADMIN', 1,CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP());