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 8487dfd4825c9d3fa47fe6690fcc21744a5901ea..76d3f8188f04afb90f05fe84749381d301009f45 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
@@ -61,16 +61,16 @@ public class Identifiers {
     }
 
     public static String asUrlEncodedString(ParticipantIdentifierType participantId) {
-        try {
-            return URLEncoder.encode(asString(participantId), UTF_8.name());
-        } catch (UnsupportedEncodingException e) {
-            throw new IllegalStateException(e);
-        }
+        return urlEncode(asString(participantId));
     }
 
     public static String asUrlEncodedString(DocumentIdentifier docId) {
+        return urlEncode(asString(docId));
+    }
+
+    private static String urlEncode(String s) {
         try {
-            return URLEncoder.encode(asString(docId), UTF_8.name());
+            return URLEncoder.encode(s, UTF_8.name());
         } catch (UnsupportedEncodingException e) {
             throw new IllegalStateException(e);
         }