Inhaltsverzeichnis

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:

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.

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.

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:

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

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

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

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