aboutsummaryrefslogtreecommitdiff
path: root/spss.server/doc/moa_spss/examples/testclient
diff options
context:
space:
mode:
Diffstat (limited to 'spss.server/doc/moa_spss/examples/testclient')
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/APIClientExample.java100
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/HTTPClientExample.java120
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleClientAuth.java139
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java143
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/client.keystorebin1974 -> 0 bytes
-rw-r--r--spss.server/doc/moa_spss/examples/testclient/example_request.xml19
6 files changed, 0 insertions, 521 deletions
diff --git a/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java b/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java
deleted file mode 100644
index 10324f221..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java
+++ /dev/null
@@ -1,100 +0,0 @@
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import at.gv.egovernment.moa.spss.api.SPSSFactory;
-import at.gv.egovernment.moa.spss.api.SignatureCreationService;
-import at.gv.egovernment.moa.spss.api.xmlsign.*;
-import at.gv.egovernment.moa.spss.api.common.*;
-
-/**
- * @author Sven Aigner
- *
- * Dies ist ein einfaches Beispielprogramm für die Erstellung
- * einer digitalen Signatur mittel der API-Funktionen des
- * MOA-SPSS Servers
- */
-public class APIClientExample {
-
- /**
- * Hauptfunktion des Beispielprogramms
- * @param args wird nicht ausgewertet
- * @throws Exception sollten Fehler auftreten werden die Fehler an die Java-VM weitergeleitet
- */
- public static void main(String[] args) throws Exception{
-
- // Serverfunktionshandler instanzieren
- SPSSFactory spf = SPSSFactory.getInstance();
-
- // Signaturedaten in ein Contentobjekt einbinden
- byte []data = "Dies sind Testdaten".getBytes("UTF-8");
- ByteArrayInputStream bis = new ByteArrayInputStream(data);
- Content cont = spf.createContent(bis,"http://uri.data.org");
-
- // Beschreibungselement zu den Daten erstellen
- MetaInfo mi = spf.createMetaInfo("text/plain","Testdaten",null);
-
- // Transformationen erstellen
- CreateTransformsInfo cti = spf.createCreateTransformsInfo(null,mi);
- CreateTransformsInfoProfile ct = spf.createCreateTransformsInfoProfile(cti,null);
-
- // Datenobjekt aufbauen
- DataObjectInfo doi = spf.createDataObjectInfo(DataObjectInfo.STRUCTURE_DETACHED,false,cont,ct);
-
- List dataobjectinfolist = new ArrayList();
- dataobjectinfolist.add(doi);
- // alles zusammenpacken zu einer SingleSignature
- SingleSignatureInfo ssi = spf.createSingleSignatureInfo(dataobjectinfolist,null,false);
-
- List singlesignatureinfolist = new ArrayList();
- singlesignatureinfolist.add(ssi);
- // die Signatur in einen Request einbetten
- CreateXMLSignatureRequest cxsreq = spf.createCreateXMLSignatureRequest("PKCS12RSAKey1",singlesignatureinfolist);
-
- // Signatureerstellungsservice aufrufen
- SignatureCreationService scs = SignatureCreationService.getInstance();
-
- // Response auswerten
- CreateXMLSignatureResponse cxsres = scs.createXMLSignature(cxsreq);
-
- List elements = cxsres.getResponseElements();
-
- SignatureEnvironmentResponse ser = (SignatureEnvironmentResponse)elements.get(0);
-
- // Responsetyp lesen
- int response_type = ser.getResponseType();
-
- if(response_type == SignatureEnvironmentResponse.ERROR_RESPONSE)
- {
- // Fehlerfall
- System.out.println("Bei der Erstellung der Signatur ist ein Fehler aufgetreten");
- }
- else
- {
- // Signaturerstellung erfolgreich
- Element se = ser.getSignatureEnvironment();
- System.out.println("Signaturerstellung erfolgreich");
-
- displayTree(se);
- }
- }
-
- /**
- * Einfache Ausgabefunktion für einen DOM-Baum
- * @param input auszugebender Knoten
- */
- public static void displayTree(Node input)
- {
- // Ausgabe eines Knotens
- System.out.println(input);
- // Alle Kindknoten ausgeben
- NodeList children = input.getChildNodes();
- for(int counter=0;counter<children.getLength();counter++)
- displayTree(children.item(counter));
- }
-}
diff --git a/spss.server/doc/moa_spss/examples/testclient/HTTPClientExample.java b/spss.server/doc/moa_spss/examples/testclient/HTTPClientExample.java
deleted file mode 100644
index f70f33d12..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/HTTPClientExample.java
+++ /dev/null
@@ -1,120 +0,0 @@
-import java.io.FileInputStream;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.rpc.Call;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.ServiceFactory;
-
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.xml.serialize.LineSeparator;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.w3c.dom.Document;
-
-/**
- * @author Sven
- *
- * Dies ist eine Beispielklasse die den Zugriff auf MOA-SPSS mittels AXIS erklärt
- */
-public class HTTPClientExample {
-
- // SOAP Konstanten
- // CreationServer
- private static final QName SERVICE_QNAME = new QName("SignatureCreation");
- private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation";
- /*private static final String ENDPOINT =
- "http://localhost:8080/moa-spss/services/SignatureVerification";*/
- /*
- Secure Endpoint
- dieser Endpoint kann alternativ zum ersten ENDPOINT verwendet werden
- um eine sichere Verbindung zum Server herzustellen
- private static final String SECURE_ENDPOINT =
- "https://localhost:8443/moa-spss/services/SignatureCreation";
- */
-
- /*
- VerificationService
- wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine
- Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit
- ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine
- sichere Verbindung)
-
- private static final QName SERVICE_QNAME = new QName("SignatureVerification");
-
- private static final String SECURE_ENDPOINT =
- "https://localhost:8443/moa-spss/services/SignatureVerification";
- */
-
- /**
- * Methode main.
- *
- * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können.
- * Der Zugriff passiert über das AXIS-Framework.
- *
- * @param args wird nicht verwendet
- */
- public static void main(String[] args) {
-
- try {
- // Datei mit Request einlesen
- FileInputStream inputStream = new FileInputStream("example_request.xml");
-
- // Parser/DOMBuilder instanzieren
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- // XML Datei in einen DOM-Baum umwandeln
- Document root_request = builder.parse(inputStream);
-
- // AXIS-Server instanzieren
- Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME);
-
- // Call öffnen
- Call call = service.createCall();
-
- // Neues BodyElement anlegen und mit dem DOM-Baum füllen
- SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement());
- SOAPBodyElement[] params = new SOAPBodyElement[] {body};
-
- // Call mit Endpoint verknüpfen
- call.setTargetEndpointAddress(ENDPOINT);
-
- // Call auslösen und die Antworten speichern
- System.out.println("Calling ...");
- Vector responses = (Vector) call.invoke(params);
-
- // erstes BodyElement auslesen
- SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
-
- // aus der Response den DOM-Baum lesen
- Document root_response = response.getAsDocument();
- System.out.println("Return ...");
-
- // Ausgabe auf System.out zum Testen
- OutputFormat format = new OutputFormat((Document)root_response);
-
- format.setLineSeparator("\n");
- format.setIndenting(false);
- format.setPreserveSpace(true);
- format.setOmitXMLDeclaration(false);
- format.setEncoding("UTF-8");
-
- XMLSerializer serializer = new XMLSerializer (System.out, format);
- //serializer.asDOMSerializer();
- serializer.serialize(root_response);
-
- // Antwort verarbeiten
- // ...
- // ...
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
-
- }
-}
diff --git a/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleClientAuth.java b/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleClientAuth.java
deleted file mode 100644
index 0a17e7fcd..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleClientAuth.java
+++ /dev/null
@@ -1,139 +0,0 @@
-import java.io.FileInputStream;
-import java.security.Security;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.rpc.Call;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.ServiceFactory;
-
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.xml.serialize.LineSeparator;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.w3c.dom.Document;
-
-import com.sun.net.ssl.internal.ssl.Provider;
-
-/**
- * @author Sven
- *
- * Dies ist eine Beispielklasse die den Zugriff auf MOA-SPSS mittels AXIS erklärt. <br>
- * Die Datenübertragung erfolgt über eine sichere Verbindung (Clientauthentisierung)
- */
-public class HTTPSClientExampleClientAuth {
-
- // SOAP Konstanten
- // CreationServer
- private static final QName SERVICE_QNAME = new QName("SignatureCreation");
- private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation";
- // Secure Endpoint
- private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation";
-
- /*
- VerificationService
- wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine
- Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit
- ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine
- sichere Verbindung)
-
- private static final QName SERVICE_QNAME = new QName("SignatureVerification");
- private static final String ENDPOINT =
- "http://localhost:8080/moa-spss/services/SignatureVerification";
- private static final String SECURE_ENDPOINT =
- "https://localhost:8443/moa-spss/services/SignatureVerification";
- */
- public static final String HANDLER = "java.protocol.handler.pkgs";
- public static final String KEYSTORE = "javax.net.ssl.keyStore";
- public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword";
- public static final String TRUSTSTORE = "javax.net.ssl.trustStore";
- public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword";
-
-
- /**
- * Methode main.
- *
- * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können.
- * Der Zugriff passiert über das AXIS-Framework. Die Verbindung ist eine SSL Verbindung mit Clientauthentisierung.
- *
- * @param args wird nicht verwendet
- */
-
- public static void main(String[] args) {
-
- try {
- /*
- Einrichten der SSL Verbindungseigenschaften
-
- Die Verbindung wird über SSL hergestellt, als TrustStore und als Keystore
- wird ein JavaKeyStore verwendet der die notwendigen Daten enthält
- */
-
- Security.addProvider(new Provider());
- System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol");
- System.setProperty(KEYSTORE, "client.keystore");
- System.setProperty(KEYSTOREPASSWORD, "changeit");
- System.setProperty(TRUSTSTORE, "client.keystore");
- System.setProperty(TRUSTSTOREPASSWORD, "changeit");
-
- // Datei mit Request einlesen
- FileInputStream inputStream = new FileInputStream("example_request.xml");
-
- // Parser/DOMBuilder instanzieren
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- // XML Datei in einen DOM-Baum umwandeln
- Document root_request = builder.parse(inputStream);
-
- // AXIS-Server instanzieren
- Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME);
-
- // Call öffnen
- Call call = service.createCall();
-
- // Neues BodyElement anlegen und mit dem DOM-Baum füllen
- SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement());
- SOAPBodyElement[] params = new SOAPBodyElement[] {body};
-
- // Call mit Endpoint verknüpfen
- call.setTargetEndpointAddress(SECURE_ENDPOINT);
-
- // Call auslösen und die Antworten speichern
- System.out.println("Calling ...");
- Vector responses = (Vector) call.invoke(params);
-
- // erstes BodyElement auslesen
- SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
-
- // aus der Response den DOM-Baum lesen
- Document root_response = response.getAsDocument();
- System.out.println("Return ...");
-
- // Ausgabe auf System.out zum Testen
- OutputFormat format = new OutputFormat((Document)root_response);
-
- format.setLineSeparator("\n");
- format.setIndenting(false);
- format.setPreserveSpace(true);
- format.setOmitXMLDeclaration(false);
- format.setEncoding("UTF-8");
-
- XMLSerializer serializer = new XMLSerializer (System.out, format);
- serializer.asDOMSerializer();
- serializer.serialize(root_response);
-
- // Antwort verarbeiten
- // ...
- // ...
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
-
- }
-} \ No newline at end of file
diff --git a/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java b/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java
deleted file mode 100644
index 26e0df9f1..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java
+++ /dev/null
@@ -1,143 +0,0 @@
-import java.io.FileInputStream;
-import java.security.Security;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.rpc.Call;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.ServiceFactory;
-
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.xml.serialize.LineSeparator;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.w3c.dom.Document;
-
-import com.sun.net.ssl.internal.ssl.Provider;
-
-/**
- * @author Sven
- *
- * Dies ist eine Beispielklasse die den Zugriff auf MOA-SPSS mittels AXIS erklärt. <br>
- * Die Datenübertragung erfolgt über eine sichere Verbindung (Serverauthentisierung)
- */
-public class HTTPSClientExampleServerAuth {
-
- // SOAP Konstanten
- // CreationServer
- private static final QName SERVICE_QNAME = new QName("SignatureCreation");
- private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation";
- // Secure Endpoint
- private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation";
-
- /*
- Secure Endpoint
- dieser Endpoint kann alternativ zum ersten ENDPOINT verwendet werden
- um eine sichere Verbindung zum Server herzustellen
- private static final String SECURE_ENDPOINT =
- "https://localhost:8443/moa-spss/services/SignatureCreation";
- */
-
- /*
- VerificationService
- wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine
- Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit
- ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine
- sichere Verbindung)
-
- private static final QName SERVICE_QNAME = new QName("SignatureVerification");
- private static final String ENDPOINT =
- "http://localhost:8080/moa-spss/services/SignatureVerification";
- private static final String SECURE_ENDPOINT =
- "https://localhost:8443/moa-spss/services/SignatureVerification";
- */
-
- // SSL Konstanten
- public static final String HANDLER = "java.protocol.handler.pkgs";
- public static final String TRUSTSTORE = "javax.net.ssl.trustStore";
- public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword";
-
- /**
- * Methode main.
- *
- * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können.
- * Der Zugriff passiert über das AXIS-Framework. Die Verbindung ist eine SSL Verbindung mit Serverauthentisierung.
- *
- * @param args wird nicht verwendet
- */
- public static void main(String[] args) {
-
- try {
- /*
- Einrichten der SSL Verbindungseigenschaften
-
- Die Verbindung wird über SSL hergestellt, als TrustStore wird
- ein JavaKeyStore verwendet der die notwendigen Daten enthält
- */
-
- Security.addProvider(new Provider());
- System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol");
- System.setProperty(TRUSTSTORE, "client.keystore");
- System.setProperty(TRUSTSTOREPASSWORD, "changeit");
-
- // Datei mit Request einlesen
- FileInputStream inputStream = new FileInputStream("example_request.xml");
-
- // Parser/DOMBuilder instanzieren
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- // XML Datei in einen DOM-Baum umwandeln
- Document root_request = builder.parse(inputStream);
-
- // AXIS-Server instanzieren
- Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME);
-
- // Call öffnen
- Call call = service.createCall();
-
- // Neues BodyElement anlegen und mit dem DOM-Baum füllen
- SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement());
- SOAPBodyElement[] params = new SOAPBodyElement[] {body};
-
- // Call mit Endpoint verknüpfen
- call.setTargetEndpointAddress(SECURE_ENDPOINT);
-
- // Call auslösen und die Antworten speichern
- System.out.println("Calling ...");
- Vector responses = (Vector) call.invoke(params);
-
- // erstes BodyElement auslesen
- SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
-
- // aus der Response den DOM-Baum lesen
- Document root_response = response.getAsDocument();
- System.out.println("Return ...");
-
- // Ausgabe auf System.out zum Testen
- OutputFormat format = new OutputFormat((Document)root_response);
-
- format.setLineSeparator("\n");
- format.setIndenting(false);
- format.setPreserveSpace(true);
- format.setOmitXMLDeclaration(false);
- format.setEncoding("UTF-8");
-
- XMLSerializer serializer = new XMLSerializer (System.out, format);
- serializer.asDOMSerializer();
- serializer.serialize(root_response);
-
- // Antwort verarbeiten
- // ...
- // ...
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
-
- }
-} \ No newline at end of file
diff --git a/spss.server/doc/moa_spss/examples/testclient/client.keystore b/spss.server/doc/moa_spss/examples/testclient/client.keystore
deleted file mode 100644
index bdb6a5d14..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/client.keystore
+++ /dev/null
Binary files differ
diff --git a/spss.server/doc/moa_spss/examples/testclient/example_request.xml b/spss.server/doc/moa_spss/examples/testclient/example_request.xml
deleted file mode 100644
index 6b8166d06..000000000
--- a/spss.server/doc/moa_spss/examples/testclient/example_request.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><CreateXMLSignatureRequest
- xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
- <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
- <SingleSignatureInfo SecurityLayerConformity="false">
- <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
- <DataObject>
- <XMLContent xml:space="preserve">Testdaten</XMLContent>
- </DataObject>
- <CreateTransformsInfoProfile>
- <CreateTransformsInfo>
- <FinalDataMetaInfo>
- <MimeType>text/plain</MimeType>
- </FinalDataMetaInfo>
- </CreateTransformsInfo>
- </CreateTransformsInfoProfile>
- </DataObjectInfo>
- </SingleSignatureInfo>
-</CreateXMLSignatureRequest> \ No newline at end of file