aboutsummaryrefslogtreecommitdiff
path: root/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt
diff options
context:
space:
mode:
Diffstat (limited to 'spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt')
-rw-r--r--spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt143
1 files changed, 0 insertions, 143 deletions
diff --git a/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt b/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt
deleted file mode 100644
index cb8db75d5..000000000
--- a/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt
+++ /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