aboutsummaryrefslogtreecommitdiff
path: root/spss.server/doc/moa_spss/HTTPClientExample.txt
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-07-07 10:58:37 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-07-07 10:58:37 +0000
commitece7d18cf35374bf4e26d041799cda8f791c89f8 (patch)
tree33707cb77627b65a2a4e7327a2e93fb7751c1b76 /spss.server/doc/moa_spss/HTTPClientExample.txt
parent273aed93c03b18a6c6bb1af745ae46a13ad3c7f2 (diff)
downloadmoa-id-spss-ece7d18cf35374bf4e26d041799cda8f791c89f8.tar.gz
moa-id-spss-ece7d18cf35374bf4e26d041799cda8f791c89f8.tar.bz2
moa-id-spss-ece7d18cf35374bf4e26d041799cda8f791c89f8.zip
Initial commit
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@2 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.server/doc/moa_spss/HTTPClientExample.txt')
-rw-r--r--spss.server/doc/moa_spss/HTTPClientExample.txt121
1 files changed, 121 insertions, 0 deletions
diff --git a/spss.server/doc/moa_spss/HTTPClientExample.txt b/spss.server/doc/moa_spss/HTTPClientExample.txt
new file mode 100644
index 000000000..02c7d9052
--- /dev/null
+++ b/spss.server/doc/moa_spss/HTTPClientExample.txt
@@ -0,0 +1,121 @@
+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();
+ }
+
+ }
+}