diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
index bc7aca59875d94fc803cdd99fa4a3d313911d174..862e5f24be89d87e10aaf353fe20cff37796de94 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
@@ -12,8 +12,6 @@ import java.time.Duration;
 public class DummyAuthzServerSoapui implements  DummyAuthzServer {
 
     private static final String ALGORITHM = "HS256";
-    private static final String SUBJECT = "aamrein";
-    private static final String AUDIENCE = "audience";
     private static final String ISSUER = "https://ehealthsuisse.ihe-europe.net/access-token-provider";
     private static final TokenType TOKEN_TYPE = TokenType.JWT;
     private static final Duration DURATION = Duration.ofHours(1);
@@ -22,15 +20,59 @@ public class DummyAuthzServerSoapui implements  DummyAuthzServer {
     @Override
     public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) {
         //todo purposeOfUse and resourceId are not yet implemented
-        AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, userId, audienceId, DURATION, TOKEN_TYPE);
-        accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
         TokenGenerator tokenGenerator = new TokenGenerator();
         tokenGenerator.setAudienceSecretRetriever(new AudienceSecretRetrieverForSoapui());
 
+        return getTokenGenerator(userId, audienceId, tokenGenerator);
+    }
+
+    /**
+     * getAccessToken
+     *
+     * @param userId
+     * @param audienceId
+     * @param purposeOfUse
+     * @param resourceId
+     * @param propertiesFilePath
+     * @return
+     */
+    public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId, String propertiesFilePath) {
+        //todo purposeOfUse and resourceId are not yet implemented
+
+        TokenGenerator tokenGenerator = new TokenGenerator();
+        tokenGenerator.setAudienceSecretRetriever(new AudienceSecretRetrieverForSoapui(propertiesFilePath));
+
+        return getTokenGenerator(userId, audienceId, tokenGenerator);
+    }
+
+
+    /**
+     * getAccessTokenRequest
+     *
+     * @param userId
+     * @param audienceId
+     * @return
+     */
+    public AccessTokenRequest getAccessTokenRequest(String userId, String audienceId){
+        AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, userId, audienceId, DURATION, TOKEN_TYPE);
+        accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
+        return accessTokenRequest;
+    }
+
+
+    /**
+     * getTokenGenerator
+     *
+     * @param userId
+     * @param audienceId
+     * @param tokenGenerator
+     * @return
+     */
+    public byte[] getTokenGenerator(String userId, String audienceId, TokenGenerator tokenGenerator){
         byte[] token = null;
         try {
-            token = tokenGenerator.generateAccessToken(accessTokenRequest).getToken();
+            token = tokenGenerator.generateAccessToken(getAccessTokenRequest(userId, audienceId)).getToken();
         } catch (EncodingException e) {
             e.printStackTrace();
         } catch (TokenRequestException e) {
@@ -39,4 +81,6 @@ public class DummyAuthzServerSoapui implements  DummyAuthzServer {
             return token;
         }
     }
+
+
 }