aboutsummaryrefslogtreecommitdiff
path: root/DocumentService/src
diff options
context:
space:
mode:
Diffstat (limited to 'DocumentService/src')
-rw-r--r--DocumentService/src/eu/stork/documentservice/DocumentServiceImpl.java2
-rw-r--r--DocumentService/src/eu/stork/documentservice/utils/Bootstrap.java31
-rw-r--r--DocumentService/src/eu/stork/documentservice/utils/GetDSSFileAction.java15
3 files changed, 44 insertions, 4 deletions
diff --git a/DocumentService/src/eu/stork/documentservice/DocumentServiceImpl.java b/DocumentService/src/eu/stork/documentservice/DocumentServiceImpl.java
index 74519dfee..913c2f704 100644
--- a/DocumentService/src/eu/stork/documentservice/DocumentServiceImpl.java
+++ b/DocumentService/src/eu/stork/documentservice/DocumentServiceImpl.java
@@ -29,7 +29,7 @@ public class DocumentServiceImpl implements DocumentService
private DatabaseConnector conn;
private Properties props = new Properties();
private static final Logger LOG = Logger.getLogger(DocumentServiceImpl.class.getName());
-
+
@Override
public String addDocument(byte[] document, String xmlRequest, String destinationCountry, String SpId, String mimeType, String receiverCert) {
String returnMessage = "";
diff --git a/DocumentService/src/eu/stork/documentservice/utils/Bootstrap.java b/DocumentService/src/eu/stork/documentservice/utils/Bootstrap.java
new file mode 100644
index 000000000..72da74e52
--- /dev/null
+++ b/DocumentService/src/eu/stork/documentservice/utils/Bootstrap.java
@@ -0,0 +1,31 @@
+package eu.stork.documentservice.utils;
+
+import org.opensaml.DefaultBootstrap;
+import org.opensaml.xml.ConfigurationException;
+
+public class Bootstrap extends DefaultBootstrap {
+
+ static boolean initializied = false;
+ public static synchronized void bootstrap() throws ConfigurationException {
+
+ if(!initializied)
+ {
+ initializeXMLSecurity();
+
+ initializeXMLTooling();
+
+// initializeArtifactBuilderFactories();
+//
+// initializeGlobalSecurityConfiguration();
+//
+// initializeParserPool();
+//
+// initializeESAPI();
+ }
+ else
+ {
+ System.out.println("Skipping initialization...");
+ }
+ }
+
+}
diff --git a/DocumentService/src/eu/stork/documentservice/utils/GetDSSFileAction.java b/DocumentService/src/eu/stork/documentservice/utils/GetDSSFileAction.java
index b80c63dc2..2fce0165d 100644
--- a/DocumentService/src/eu/stork/documentservice/utils/GetDSSFileAction.java
+++ b/DocumentService/src/eu/stork/documentservice/utils/GetDSSFileAction.java
@@ -16,6 +16,7 @@ package eu.stork.documentservice.utils;
import org.apache.log4j.Logger;
import org.bouncycastle.util.encoders.UrlBase64;
+import org.opensaml.xml.ConfigurationException;
import eu.stork.peps.auth.commons.IPersonalAttributeList;
import eu.stork.peps.auth.commons.PEPSUtil;
@@ -59,8 +60,10 @@ public final class GetDSSFileAction {
final PersonalAttribute sdoc = pal.get("docRequest");
if (sdoc != null)
{
- String docId = sdoc.getValue().get(0);
- return docId;
+ String docId = sdoc.getValue().get(0);//remove countries from beginning
+ docId = docId.substring(docId.indexOf("/")+1);
+ docId = docId.substring(docId.indexOf('/')+1);
+ return docId.replace("/", "");
}
} catch (final STORKSAMLEngineException e) {
e.printStackTrace();
@@ -73,7 +76,13 @@ public final class GetDSSFileAction {
// fetch the samlToken from the request
final byte[] samlToken = UrlBase64.decode(samlRequest);
-
+ //System.out.println("SAML Engine DokumentService init");
+ try {
+ Bootstrap.bootstrap();
+ } catch (ConfigurationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
final STORKSAMLEngine engine = STORKSAMLEngine.getInstance(SAML_INSTANCE);
final STORKAttrQueryRequest attrData= engine.validateSTORKAttrQueryRequest(samlToken);