Das hier beschriebene Werkzeug ist noch in Entwicklung, und die Informationen auf dieser Seite sind nicht verbindlich!

Bearbeiten eines WebService mit PublEdge

PublEdge basiert auf dem Standard TAA-ToolFramework und bietet somit die aus den anderen Tools (InterfEdge usw.) bekannte Funktionalität zum Öffnen, Erstellen und Bearbeiten von Komponenten.

Mit PublEdge können Sie TAA-Komponenten vom Typ WEBS (WebService) anlegen und bearbeiten.

Allgemein

publedge_1.jpg

Die Kurzbezeichnung wird ermittelt aus Namen des Webservice in „CamelCase“.
Der XML Namespace setzt sich zusammen aus http://<WebsDomain>/<Anwendung>/<Kurzbezeichnung>.
Der CS Namespace setzt sich zusammen aus <DotnetDomain>.<Anwendung>.<Kurzbezeichnung>.

Danach stehen einige Optionen, die die Generierung des Wsdl für das gesamte Modul beeinflussen:

  • Für Datengruppen/Datenelemente im Occurs beliebige Reihenfolge zulassen: Bei der Wsdl-Generierung wird für die Elemente der Verbund All verwendet, sonst Sequence. Diese Angabe bewirkt, dass in der Wsdl um Elemente mit MaxOccurs ungleich 1 ein Wrapper mit dem Typ Sequence erzeugt wird (vgl. Listentypen bei generischen Webservices).
  • Für Parameter beliebige Reihenfolge zulassen: Bei der Wsdl-Generierung für die Parameterobjekte der Verbund All verwendet, sonst Sequence.
  • Unterdrückte Felder auch im Schema berücksichtigen: Für Elemente, für die „Rückgabe ignorieren“ angegeben ist, wird kein leerer Knoten generiert.

TAA-Modul: Hier wählen Sie das Modul aus. welches die Basis für den Webservice bilden soll. Mögliche Typen sind: USTR (ASTR, SSTR), DZUG, AFUN.
Um die Auswahl vorzunehmen bzw. zu ändern, klicken Sie den Button Anpassen.

Operationsverknüpfung
Die in einem WebService auslösbaren Operationen werden anhand des Basis-Moduls ermittelt. Jeder Operation können eine oder mehrere Methoden zugeordnet werden. Doppelklick oder Hinzufügen auf eine Operation fügt eine Methode hinzu, in der die gewählte Operation vorbestückt ist. Der Default-Name der Methode ist der Name der Operation, ggf. mit Nummer.

Wenn für einen WebService bereits Methoden definiert sind, können diese im Baum aufgeklappt und dort zur Bearbeitung selektiert werden.

Wenn für einen WebService bereits eine - ggf. extern erstellte - Beschreibung als xml-Datei vorliegt, kann diese importiert werden, um auf diesem Weg Methoden und Datenverknüpfungen zu erzeugen.

Methoden

publedge_m1.jpg

Name und Umschreibung der Methode können hier geändert werden.
Auch die Operation kann im Nachhinein geändert werden; dabei werden ggf. bereits zugeordnete Objekte soweit wie möglich übernommen.

Um eine Methode zu bearbeiten, doppelklicken Sie in der Liste oder selektieren Sie die Methode im Baum.

Methode - Allgemein

Durch Doppelklick auf die Methode oder Selektion im Baum wird der Reiter „Allgemein“ für die gewählte Methode erreicht.

publedge_m2.jpg

Auch hier können Name, Umschreibung und Operation angepasst werden.

  • Erzeugte Conditions im Ergebnis zurückliefern: Conditions, die bei der Verarbeitung in dem TAA-Modul aufgetreten sind, werden an den Aufrufer zurückgeliefert.
  • Erzeugte Dokumente im Ergebnis zurückliefern: CTV-Dokumente, die bei der Verarbeitung in dem TAA-Modul erzeugt wurden, werden an den Aufrufer geliefert. Hierbei können Sie noch einschränken, welche Dokumenttypen zurückgeliefert wreden sollen (z.Zt. RTF und/oder PDF).

Für diese beiden Optionen werden in die Wsdl complextypes erzeugt, die die betreffenden Informationen aufnehmen können, sowie in der Response hinter dem letzten Element zusätzliche Elemente.

Parameter
In der Liste der Parameter werden alle in dem Basis-Modul definierten Parameterobjekte für die gewählte Operation in der Spalte „Verknüpft mit“ aufgelistet.

  • Um ein Parameterobjekt im WebService zu verwenden, öffnen Sie das Kontextmenü zu der betreffenden Zeile und wählen Sie Hinzufügen.
  • Ebenso können Sie ein verknüpftes Parameterobjekte für den Webservice wieder löschen.

Die Reihenfolge der Objekte entspricht der Reihenfolge, in der sie hinzugefügt wurden.

Rolle von Parameterobjekten in WebServices
Die Rolle eines verknüpften Objekts im Webservice wird automatisch anhand der Rolle des Paraemterobjekts in der Operation des TAA-Moduls ermittelt.ßß In Webservices wird nur zwischen drei Objektrollen unterschieden:

  • die Rolle „IN“ besagt, dass das Objekt nur übergeben, aber nicht zurückgeliefert wird. Diese Rolle ist anzugeben werden für Parameterobjekte, die in der Schnittstelle des TAA-Moduls die Rolle „REF“ oder „DEL“ haben.
  • die Rolle „OUT“ besagt, dass das Objekt nur zurückgeliefert, aber nicht übergeben wird. Diese Rolle ist anzugeben für die Verknüpfung mit Parameterobjekten, die in der Schnittstelle des TAA-Moduls die Rolle „CRE“ haben.
  • Objekte, die dem Modul übergeben und dort mglw. verändert werden können, haben die Rolle „REF“.

Zugeordnete Parameterobjekte werden im Baum unterhalb der Methode aufgelistet.

Durch Doppelklick auf ein Parameterobjekte oder Selektion im Baum gelangen Sie zur Bearbeitung des Objekts.

Parameterobjekte bearbeiten

Im Reiter „Allgemein“ stehen zuoberst Angaben zur Definition, wobei Name und Umschreibung hier auch angepasst werden können.

publedge_p1.jpg

Darunter wird die Struktur des Webservice-Objekts sowie die des Datenobjekts in dem Basismodul angezeigt. Als Defaultvorgabe sind jeweils die entsprechenden Felder miteinander verknüpft. Es ist hier möglich, Verknüpfungen zu ändern und Details zur Übergabe von Feldinhalten festzulegen. Sie können auf diese Art die Übergabe für den WebService abweichend von der Struktur des Parameterobjekts gestalten.

publedge_p2.jpg

  • Um die Details zu einer Verknüpfung anzuzeigen und ggf. zu ändern, selektieren Sie die Verbindungslinie zwischen zwei Feldern oder das Feld in der Liste „Struktur“.
  • Über das Kontextmenü können Sie diese Verknüpfung löschen oder kopieren. Nicht verknüpfte Felder werden aus der Liste „Struktur“ entfernt.
  • Um eine Verknüpfung hinzuzufügen, wählen Sie das Feld in der Liste „Datenstruktur“ und dann Hinzufügen. Wenn das Feld in der Liste „Struktur“ noch nicht vorkommt, wird es dort angelegt; andernfalls wird ein zusätzliches Feld angelegt und verknüpft.
  • Sie können Verknüpfungen auch kopieren und einfügen; dies kann hilfreich sein, um in verschiedenen Methoden gleiche Verknüpfungen herzustellen.

In den Details werden jeweils Zusatzangaben zu dem aktuell in der Liste „Struktur“ gewählten Feld angezeigt.

  • Name: Der Name des Felds im Webservice kann nach Wunsch geändert werden; Sonderzeichen (außer Unterstrich) sind nicht zulässig, und der Namen darf nicht mit einer Ziffer beginnen.
  • Auch die Umschreibung kann angepasst werden.
  • Die Angaben Verknüpft mit und Datentyp werden aus der Struktur abgeleitet und sind nicht änderbar.

Unter Vorkommen können Sie festlegen, wie oft ein Feld in der Übergabe vorkommen kann bzw. muss, und wie sein Wert behandelt wird:

  • „Minimal“ kann 0 oder 1 sein. 0 bedeutet, dass das Feld beim Aufruf fehlen darf.
  • Bei Feldern mit Wiederholung (Occurs) gibt es die zusätzliche Angabe „Maximal“. Hier kann ggf. ein kleinerer Wert als in der Datenstruktur angegeben werden, aber nie ein größerer.
  • „Darf beim Aufruf fehlen“ gibt an, dass der Inhalt beim Aufruf leer sein darf (Minimalvorkommen = 0);
  • „Ignorieren falls doch ein Wert vorhanden“ sollte angekreuzt werden, wenn der ggf. vorhandene Inhalt für den Aufruf nicht relevant ist, sondern nur in der Rückgabe.
  • „Für Rückgabe ignorieren“ sollte für Elemente gesetzt werden, die in der Rückgabe nicht gebraucht werden, sondern nur im Aufruf. Es bewirkt, dass der Feldinhalt bei Rückkehr aus dem Modul nicht übernommen wird - es sei denn, …
  • … „Übernehmen falls beim Aufruf ein Wert vorhanden ist“ ist angekreuzt: dann wird der Wert nur dann ignoriert, wenn das Feld beim Aufruf leer war1). Diese Angabe sollte nur bei Elementen verwendet werden, die sowohl für den Aufruf als auch in der Rückgabe relevant sind.

Beschreibung von WebService importieren

Über den Befehl „Webservice Importieren“ (Menü Datei/Toolbar) ist es möglich, eine im xml-Format vorliegende Beschreibung des WebService zu importieren.

Eine solche Beschreibung wird i.d.R. externe erstellt, aufgrund der Informationen aus dem zugrundeliegenden TAA-Modul. Sie kann den kompletten Aufbau des WebService mit allen Verknüpfungen definieren. Wenn eine xml-Datei importiert wird und in dem WebService bereits Methoden und Datenverknüpfungen definiert sind, werden bestehende Definitionen, für die auch in der xml-Datei Angaben vorhanden sind, angepasst.

Beschreibung von WebService exportieren

Über den Befehl „Exportieren“ (Menü Datei/Toolbar) ist es möglich, eine Beschreibung des WebService im xml-Format erstellen zu lassen, z.B. für Vergleiche. Diese könnte auch wieder in PublEdge importiert werden, z.B. um einen älteren Stand wiederherzustellen.

Anhang

Wsdl-Code für Dokumente und Conditions

<code XML>
      <xsd:complexType name="Document">
      <xsd:all>
        <xsd:element name="Name" type="xsd:string" />
        <xsd:element name="Format" type="tns:FormatEnum" />
        <xsd:element name="Location" type="xsd:string" />
        <xsd:element name="Content" type="xsd:base64Binary" />
      </xsd:all>
    </xsd:complexType>
    <xsd:simpleType name="FormatEnum">
      <xsd:restriction base="xsd:NMTOKEN">
        <xsd:enumeration value="RTF" />
        <xsd:enumeration value="PDF" />
      </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Condition">
      <xsd:all>
        <xsd:element name="Group" type="xsd:string" />
        <xsd:element name="Code" type="xsd:unsignedInt" />
        <xsd:element name="Severity" type="xsd:string" />
        <xsd:element name="Message" type="xsd:string" />
        <xsd:element name="Timestamp" type="xsd:string" />
        <xsd:element name="Associations" minOccurs="0">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Association" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                  <xsd:all>
                    <xsd:element name="Name" type="xsd:string" />
                    <xsd:element name="Value" type="xsd:string" />
                  </xsd:all>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:all>
    </xsd:complexType>
   <xsd:complexType name="Methode1Response">
      <xsd:sequence>
          .....
        <xsd:element name="Documents" minOccurs="0" maxOccurs="unbounded" type="tns:Document" />
        <xsd:element name="Conditions" minOccurs="0" maxOccurs="unbounded" type="tns:Condition" />
      </xsd:sequence>
    </xsd:complexType>  

</code>

1)
für Cobol-generierte WebServices/Expedge-Target hkv-web nicht unterstützt
publedge:edit_webs · Zuletzt geändert: 12.02.2021 08:53

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum