SOAP WSDL: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 30: Zeile 30:
this only works, if the WSDL is self contained (eg. contains all required definitions and does not import other documents)
this only works, if the WSDL is self contained (eg. contains all required definitions and does not import other documents)
<CODE><PRE>
<CODE><PRE>
service := SprayWSDLService '''onXmlString:''' ''wsdlString''
service := SprayWSDLService onXmlString: 'wsdlString'
</PRE></CODE>
</PRE></CODE>



Version vom 2. Juli 2015, 13:30 Uhr

SOAP WSDL Package[Bearbeiten]

Basic Usage[Bearbeiten]

These chapter describes the basic underlying implementation. It does not require or use the WSDL class generator.


To make a SOAP request as a client, given a WSDL (either as file, string or URL), you have to:

  • create a service
  • instantiate a client
  • create a call object with call arguments
  • perform the call
  • extract the values from the returned result object

Creating a Service Instance[Bearbeiten]

You need a WSDL to create a service. This can come from multiple sources:

Service from URL (preferred)[Bearbeiten]

this is the preferred method, especially as it wil deal automatically with imported schema definitions (i.e. if the WSDL refers to other documents via an import)

    service := SprayWSDLService onUrl: anUrlString
Service from a String[Bearbeiten]

this only works, if the WSDL is self contained (eg. contains all required definitions and does not import other documents)

    service := SprayWSDLService onXmlString: 'wsdlString'
From a set of Files/Strings[Bearbeiten]

when a WSDL URL is parsed, an transport object instance is used to fetch imported documents. By default, an instance of SptHTTPClient is used to fetch required documents. A mock transport class named SptHTTPLocalTransport can be used. This keeps a list of string documents variable and delivers that contents, when asked for. Thus, if you have a WSDL document, which imports other documents, AND you want to prevent WSDL fetches via http at runtime of you program, you can setup an instance of SptHTTPLocalTransport, give it all the documents (incl. any imported docs), and provide that as a document retriever. For example, if you have a WSDL in (urlA), which imports urlB and urlC, and urlC imports urlD, use the following setup:

    transport := SptHTTPLocalTransport new.
    localDocuments := transport localDocuments.
    localDocuments
        at: urlA "eg something like: 'http://foo.services.de:30050/partner/PartnerBusinessService?SCHEMA'"
        put:
'<?xml version="1.0"?> 
... the whole urlA document as string...
'.
   localDocuments
        at: urlB "eg something like: 'http://foo.services.de..."
        put:
'<?xml version="1.0"?> 
... the whole urlB document as string...
'.
   localDocuments
        at: urlC "eg something like: 'http://foo.services.de..."
        put:
'<?xml version="1.0"?> 
... the whole urlC document as string...
'.

and define this as defaultTransport in your client class. Then, all required import urls will be fetched from there.



Voraussetzungen[Bearbeiten]

Wir empfehlen expecco ALM auf einem durchgehend verfügbaren Server mit Windows Server 2008 / Windows 7 oder höher zu installieren.
Die Installation auf anderen Betriebssystemen wäre bei Bedarf auch möglich.

Damit expecco ALM flüssig arbeiten kann, werden folgende Hardware-Anforderungen an den Server gestellt:
- ein "dezidierter" Prozessor mit mindestens 2 GHz
- mindestens 1 GB Arbeitsspeicher (ausschließlich für expecco ALM)
- mindestens 10 GB Festplattenspeicher (je nach Größe der Daten die expecco ALM verwalten soll)

Stellen Sie sicher, dass dieser Server für alle Clients erreichbar ist.
Clients sind alle Rechner der expecco ALM Benutzer, Rechner die expecco ALM zur Testausführung dienen und Rechner mit "Floating" lizenziertem expecco.
Bei Problemen bezüglich der Erreichbarkeit wenden Sie sich bitte an Ihren Netzwerkadministrator.


Installation[Bearbeiten]

Ihre Lizenzdatei und eine Verknüpfung zum aktuellen expecco ALM Installer haben wir Ihnen per E-Mail zu kommen lassen.
Der Installer hat folgenden Namen "expecco ALM 1.9.0.1 Setup.exe", wobei die Versionsnummer abweichen kann.
Ihren Dongle haben wir per Post an Sie versendet (es sei denn Sie evaluieren expecco ALM).

Gehen Sie bitte wie folgt vor:
- Laden Sie den expecco ALM Installer auf dem Server, auf dem expecco ALM künftig laufen soll, herunter.
- Legen Sie Ihre Lizenzdatei ebenfalls auf dem Server ab.
- Verbinden Sie Ihren Dongle mit dem Server. Wenn Sie expecco ALM evaluieren, können Sie diesen Schritt überspringen.
- Führen Sie den expecco ALM Installer, z.B. "expecco ALM 1.9.0.1 Setup.exe", aus

Nachdem der Installer erfolgreich ausgeführt wurde, läuft expecco ALM bereits als Service.
Auf Ihrem Desktop wurde eine Verknüpfung zu expecco ALM angelegt.
Es wurde auch ein Ordner für expecco ALM in Ihrem Startmenü erstellt.
Dort können Sie unter "Konfiguration" den Port ändern (Standard ist Port 8081) oder über die "Logdatei" eventuelle Probleme feststellen.

Über die Verknüpfung auf Ihrem Desktop lässt sich expecco ALM in Ihrem Standardbrowser öffnen.
Es wird eine Seite zum Installieren Ihrer expecco ALM Lizenz angezeigt.
Über "Lizenzdatei installieren" können Sie Ihre Lizenzdatei (die Sie bereits auf dem Server abgelegt haben) auswählen.
Nach dem expecco ALM Ihre Lizenzdatei akzeptiert hat, können Sie diese entfernen.
Wenn bereits eine gültige Lizenz installiert ist, wird stattdessen die Anmeldeseite angezeigt.
Falls es sich bei Ihnen um eine Erstinstallation handelt, können Sie sich mit Anmeldenamen "admin" und Kennwort "admin" anmelden.

Falls eine leere Seite oder eine Fehlerseite angezeigt wird, probieren Sie einen anderen Port aus und/oder schauen Sie in der Logdatei nach Fehlermeldungen.


Einbringen von expecco Floating-Lizenzen[Bearbeiten]

Der Lizenzservice von expecco ALM vergibt verfügbare expecco Floating-Lizenzen aus einem bestimmten Pool.
In diesen zunächst leeren Pool können von eXept erworbene expecco Floating-Lizenzen eingebracht werden.

Diese expecco Floating-Lizenzen erhalten Sie als Lizenzdatei(en) üblicherweise per E-Mail.
Eine Lizenzdatei kann eine oder mehrere expecco Floating-Lizenzen auch für verschiedene Komponenten (Basissystem, Plugins und Erweiterungen) enthalten.
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.

expecco Floating-Lizenzen werden immer spezifisch für eine expecco ALM Lizenz erstellt und sind nur mit dieser und deren Dongle nutzbar.
Es ist also nicht notwendig solche Lizenzdateien unter Verschluss zu halten oder über eine sichere Verbindung auszutauschen.
Allerdings sollten Sie den Dongle sicher aufbewahren bzw. Diebstahl vorbeugen.

Zur Einbringen einer expecco Floating-Lizenz öffnen Sie expecco ALM und melden Sie sich an.
Jetzt navigieren Sie über die obere Hauptnavigationsleiste zum "Lizenzservice" Modul.

Sie befinden sich nun im Lizenzservice und Ihnen wird die Liste der installierten expecco Floating-Lizenzen angezeigt.
Wechseln Sie zur Registerkarte "expecco Lizenzdateien".
Navigieren Sie mithilfe des Navigationsmenüs auf der linken Seite zu "Hochladen/Upload".
Hier können Sie nun durch ein einfaches Hochladen Ihrer expecco Floating-Lizenzen selbige in den Pool einbringen.
In der zuvor genannte Liste werden nun die eben hochgeladenen expecco Floating-Lizenzen anzeigt.
Diese sind von nun an auch von entfernten expecco Clients abrufbar.
Sie können auch jederzeit weitere expecco Floating-Lizenzen erwerben und in den Pool einbringen.


Übersicht[Bearbeiten]

Welche einzelnen expecco Floating-Lizenzen verfügbar oder vergeben sind,
erfahren Sie indem Sie zur Registerkarte "expecco Lizenzen" wechseln.
Insbesondere ist hieraus ersichtlich, welcher Rechner/Benutzer welche expecco Floating-Lizenz aktuell nutzt.
Dies ist beispielsweise sinnvoll, wenn ein expecco Client seine Sitzung versehentlich nicht beendet hat,
und andere Nutzer eine entsprechende Lizenz benötigen.



Copyright © 2014-2024 eXept Software AG