Das hier beschriebene Werkzeug ist noch in Entwicklung, und die Informationen auf dieser Seite sind nicht verbindlich!
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.
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:
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).All
verwendet, sonst Sequence
.
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.
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.
Durch Doppelklick auf die Methode oder Selektion im Baum wird der Reiter „Allgemein“ für die gewählte Methode erreicht.
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.
Im Reiter „Allgemein“ stehen zuoberst Angaben zur Definition, wobei Name und Umschreibung hier auch angepasst werden können.
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.
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:
Ü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.
Ü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.
<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>