Funktionsteilbereich „Aufruf von Funktionalität der Fabasoft Produktinstallation durch eine Fachanwendung“Permanenter Link zu dieser Überschrift

Lösungsbereich TransaktionenPermanenter Link zu dieser Überschrift

Mehrere SOAP-Aktionen zu einer Transaktion zusammenfassen Permanenter Link zu dieser Überschrift

Die Fabasoft Produktinstallation bietet einer Fachanwendung die Möglichkeit, mehrere von der Fachanwendung aufgerufene SOAP-Aktionen in einer atomaren Transaktion in der Fabasoft Produktinstallation abzuarbeiten.  

Zum Beispiel könnten folgende SOAP-Aktionen in einer Transaktion durchgeführt werden:  

  1. Erzeugen eines Ordners
  2. Erzeugen eines Word-Objekts

Der jeweilige Transaktionskontext der Installation der Fabasoft Produktinstallation wird im SOAP-Header zwischen der Fabasoft Produktinstallation und der Fachanwendung transportiert.  

Lösungsbereich FachanwendungsdatenPermanenter Link zu dieser Überschrift

Im Folgenden wird der Zugriff auf die Fachanwendungsdaten im Aggregat Fachanwendungsdaten (FSCBAI@1.1001:data) mittels SOAP-Aktionen beschrieben. Diese SOAP-Aktionen werden von der Softwarekomponente Integration for Business Application (FSCBAI@1.1001) zur Verfügung gestellt.

XML-Fachanwendungsdaten schreibenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Setzen der Fachanwendungsdaten über XML/SOAP (FSCBAI@1.1001:SOAPSetData) der Fabasoft Produktinstallation bietet einer Fachanwendung die Möglichkeit die XML-Fachanwendungsdaten des betreffenden Objekts zu schreiben.

Input

Namespace: urn:schemas-fabasoft-com:bai:businessappdata

<SOAPSetDataRequest>
  <objaddress> Objektadresse </objaddress>

  <dept> Referenz der Fachanwendungsbereichsdefinition </dept>

  <data> Fachanwendungsdaten </data>

  <xpath> XPath-Ausdruck </xpath>

</SOAPSetDataRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:businessappdata

<SOAPSetDataResponse>
  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

</SOAPSetDataResponse>

Wird im XPath-Ausdruck nichts angegeben, so wird der gesamte XML-Inhalt aus dem Fachanwendungsaggregat überschrieben. Mithilfe des XPath-Ausdrucks kann definiert werden, ob nur ein Teilbaum der XML-Struktur überschrieben wird. Die Daten, die in den definierten Knoten geschrieben werden sollen, werden im Knoten <data> angegeben.

In dem XPath-Ausdruck können Namespaces verwendet werden, die beim übergebenen Fachanwendungsbereich definiert sein müssen.

Beispiel:

Von einem Objekt soll ein XML-Knoten der Fachanwendungsdaten überschrieben werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Fachanwendungsdaten setzen (FSCBAI@1.1001:SOAPSetData) übermittelt.

::params=coort.CreateDictionary();
::params.SetEntryValue("objaddress",0,this.objaddress);

::params.SetEntryValue("dept",0,::deptref);

::data=coort.CreateDictionary();

::filesubj=coort.CreateDictionary();

::filesubj.SetEntryValue("Testwert",0,"Value");

::params.SetEntryValue("data",0,::filesubj);

::params.SetEntryValue("xpath",0,"//ns1:Incoming/ns1:filesubj");

::xmlcontent=coort.CreateContent(this);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"SoapSetData",::params,&::xmlcontent)

XML-Fachanwendungsdaten lesenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Ermitteln der Fachanwendungsdaten über XML/SOAP (FSCBAI@1.1001:SOAPGetData) der Fabasoft Produktinstallation bietet einer Fachanwendung die Möglichkeit die XML-Fachanwendungsdaten des betreffenden Objekts zu lesen.

Input

Namespace: urn:schemas-fabasoft-com:bai:businessappdata
<SOAPGetDataRequest>

  <objaddress> Objektadresse </objaddress>

  <dept> Referenz der Fachanwendungsbereichsdefinition </dept>

  <xpath> XPath-Ausdruck </xpath>

</SOAPGetDataRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:businessappdata
<SOAPGetDataResponse>

  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

  <data> Fachanwendungsdaten </data>

</SOAPGetDataResponse>

Wird im XPath-Ausdruck nichts angegeben, so wird der gesamte XML-Inhalt aus dem Fachanwendungsaggregat als XML-Struktur ausgegeben. Mithilfe des XPath-Ausdrucks kann festgelegt werden, dass nur ein Teilbaum der XML-Struktur ausgegeben wird. Im XPath-Ausdruck können XML-Namespaces verwendet werden, die beim übergebenen Fachanwendungsbereich definiert sein müssen.

Der Response enthält im XML-Knoten <data> den ermittelten Knoten mit dem Wert bzw. den ermittelten Teilbaum mit alle untergeordneten Knoten.

Beispiel:

Von einem Objekt soll ein XML-Knoten der Fachanwendungsdaten ausgegeben werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Fachanwendungsdaten lesen (FSCBAI@.1001:SOAPGetData) übergeben.

::params=coort.CreateDictionary();
::params.SetEntryValue("objaddress",0,this.objaddress);

::params.SetEntryValue("dept",0,::deptref);

::params.SetEntryValue("xpath",0,"//ns1:Incoming/ns1:filesubj");

::xmlcontent=coort.CreateContent(this);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"SoapGetData",::params,&::xmlcontent)

Fachdokument in der Fabasoft Produktinstallation anzeigenPermanenter Link zu dieser Überschrift

Fachdokumente sind Dokumente im HTML-Format, die mittels einer XSL-Transformation aus den XML-Fachanwendungsdaten erstellt und für den Anwender in der Fabasoft Produktinstallation angezeigt werden können. Pro Fachanwendungsbereich und Objektklasse wird ein definiertes XSLT-Stylesheet verwendet.

Der Aufruf dieser Funktionalität durch den Anwender in der Installation der Fabasoft Produktinstallation erfolgt durch einen entsprechend konfigurierten Kontextmenübefehl des Objekts.

Fachanwendungsdaten in Dokument-Eigenschaften verwendenPermanenter Link zu dieser Überschrift

Blatt-Knoten des XML-Inhalts von Fachanwendungsdaten können bei geeigneter Definition als Text in Dokument-Eigenschaften von Microsoft Office-Dokumenten verwendet werden.

Lösungsbereich Objekt-BearbeitungPermanenter Link zu dieser Überschrift

Die Bearbeitung von DMS(Dokument Management System)-Objekten umfasst das Erzeugen und Bearbeiten von Objekten mit Multimedia-Inhalt. Dieser Inhalt kann mit einem von der Fabasoft Produktinstallation unterstützten Produktivitätswerkzeug (z. B. Microsoft Office Word) gelesen und bearbeitet werden. Weiters werden SOAP-Aktionen zur Verfügung gestellt, die Versionen erstellen und bereits erstellte Version von Fabasoft Folio Objekten behandeln können.

Objekt bearbeitenPermanenter Link zu dieser Überschrift

Eine Fachanwendung kann unter Verwendung der Fabasoft vApp-Technologie URLs eines Webservice der Fabasoft Produktinstallation aufrufen, um die entsprechende Anwendung für ein angegebenes Objekt aufzurufen.

Ein Aufruf an die Fabasoft Produktinstallation aus der Fachanwendung muss nach folgendem Schema aufgebaut sein:

Parametername

IN/OUT

Typ

Erklärung

ax

In

STRING

Definiert eine Anwendung.

Beispielanwendung für Aufruf an die Fabasoft Produktinstallation:
FSCVAPP@1.1001:StartMenu (Objektadresse COO.1.1001.1.91492)

Bei einem Aufruf an eine Fachanwendung kann dieser Parameter in der Konfiguration für Fachanwendungen in der Eigenschaft Fachanwendungsaufrufe im Ausdruck für GUI-Aktion (URL) angegeben werden.

sys_action

In

STRING

Definiert eine Aktion.

Beispielaktion für Aufruf an die Fabasoft Produktinstallation:
Eigenschaften der markierten Objekte bearbeiten (Objektadresse COO.1.1.1.1066)

Bei einem Aufruf an eine Fachanwendung kann dieser Parameter in der Konfiguration für Fachanwendungen in der Eigenschaft Fachanwendungsaufrufe im Ausdruck für optionale GUI-Parameter angegeben werden.

commit

In

STRING

TRUE

sys_object

In

STRING

Die eindeutige Kennung des Geschäfts- oder Fachobjekts.

Bei einem Aufruf an eine Fachanwendung wird dieser Parameter automatisch aufgrund des beim jeweiligen Objekt gespeicherten Fremdschlüssels und des Fachanwendungsbereichs gesetzt.

ru

In

STRING

Der Return-URL, der nach dem Ende der Bearbeitung in der Fachanwendung aufgerufen wird.

Bei einem Aufruf an eine Fachanwendung kann dieser Parameter in der Konfiguration für Fachanwendungen in der Eigenschaft Fachanwendungsaufrufe im Ausdruck für Return-URL (Post-GUI) als Expression angegeben werden.

<name>

In

STRING

Sonstige URL-Paramter als <expression>.

Bei einem Aufruf an eine Fachanwendung kann dieser Parameter in der Konfiguration für Fachanwendungen in der Eigenschaft Fachanwendungsaufrufe im Ausdruck für optionale GUI-Parameter angegeben werden.

Beispiel:

Aufruf an eine Fabasoft Fachanwendung:

http://<webserver>/<vdir>/fscasp/content/bin/fscvext.dll?ax=COO.1.1001.1.91492&sys_action=COO.1.1.1.1066&commit=TRUE&ru=javascript:window.close()&sys_object=COO.1.1094.2.1002276

DMS-Dokument erzeugenPermanenter Link zu dieser Überschrift

Durch die Fabasoft Produktinstallation

In der Fabasoft Produktinstallation wird ein Schriftstück erzeugt.

Durch die Fachanwendung

Wird ein Dokument in der Fachanwendung erstellt, wird dazu die fachspezifische Funktionalität genutzt. Anschließend kann das dabei erstellte Dokument mittels SOAP in die Stammdomäne geladen werden.

Erzeugen von Inhaltsobjekten via SOAP (FSCOWS@1.1001:SOAPCreateContentObjects)

Input

Namespace: urn:schemas-fabasoft-com:ows:createcontentobjects

<createcontentobjects>
  <objectclass> Objektklasse des Dokuments </objectclass>

  <contentlist> Base64-kodierte(r) Inhalt(e)

    ...

  
</contentlist>
  <sourceextension> Erweiterung Originalinhalt </sourceextension>

</createcontentobjects>

Output

Namespace: urn:schemas-fabasoft-com:ows:createcontentobjects

<createcontentobjectsresult>
  <objectlist> Objektadressen der erzeugten Objekte

    ...

  </objectlist>

</createcontentobjectsresult>

Inhalt eines DMS-Objekts bearbeitenPermanenter Link zu dieser Überschrift

Eine Fachanwendung kann unter Verwendung des standardisierten Protokolls WebDAV Inhalte („Contents“), die in der Fabasoft Produktinstallation verwaltet werden, adressieren. Analog zum Use-Case „Objekt bearbeiten“ ruft die Fachanwendung in diesem Fall einen URL eines Webservice der Fabasoft Produktinstallation auf.

WebDAV ("Web based Distributed Authoring and Versioning") ist eine standardisierte Erweiterung des HTTP-Protokolls. Zusätzlich zu den Standard-HTTP-Funktionen für Download, Upload usw. sind Funktionen zum Sperren/Entsperren von Ressourcen (LOCK/UNLOCK) und Abfragen/Setzen/Suchen von Eigenschaften (PROPFIND/PROPPATCH/SEARCH) definiert.

Die allgemeine Syntax eines WebDAV-URL lautet:

http://<webserver>/<vdir>/FSCDAV/<FlatSpace>

FlatSpace ::= Prefix "?" [ Parameters ] [ "/" Postfix ] .

Parameters ::= Parameter { "&" Parameter } .

Prefix ::= "READONLY" | "DAV" .

Postfix ::= <any file name with extension>

Parameter::= ObjParam | ContentParam | ActionParam | DownloadParam |

ux | px | gx | xx | dx | expires | ArgParam | TypParam |

ResParam

ObjParam ::= "OBJ" "=" CooAddr .

ContentParam ::= "CONTENT" "=" AttrPath .

DownloadParam ::= "DOWNLOAD" "=" FileName .

ActionParam ::= "ACTION" "=" CooAddr .

ArgParam ::= "ARG" [ number ] "=" QuotedStr .

TypParam ::= "TYP" [ number ] "=" CooAddr .

ResParam ::= "RES" "=" "ARG" [ number ] .

expires ::= "EXPIRES" "=" seconds .

CooAddr ::= <object address> .

AttrPath ::= AttrRef "(" Index ")" { AttrRef "(" Index ")" } .

AttrRef ::= <reference of the attribute> .

FileName ::= <file name with extension> .

Anwendbare HTTP/WebDAV-Methoden:

Command

HTTP/WebDAV-Methoden

Bedeutung

READONLY

GET

Lesen von Inhalten

DAV

LOCK, UNLOCK, GET, PUT

Bearbeiten von Inhalten

Anmerkungen:

  • Die Kommandos READONLY und DAV verfügen über die Parameter OBJ und CONTENT, wobei CONTENT optional ist. Der Standardwert dafür ist "content(0)contcontent(0)". In den meisten Fällen kann dieser Standardwert verwendet werden, da damit der Hauptinhalt eines Objekts mit Inhalt beschrieben wird.
  • Das Kommando READONLY kann mit dem optionalen Parameter DOWNLOAD ausgeführt werden. Dieser Parameter bewirkt, dass ein Download-Dialog geöffnet wird. Der vorgeschlagene Dateiname ist der Wert des DOWNLOAD-Parameters (Beispiel: DOWNLOAD=test.doc).
    Achtung: Im Microsoft Windows-Explorer kann pro Dateityp angegeben werden, ob für ein heruntergeladenes Dokument ein "Save/Open"-Dialog angezeigt wird, oder ob das Dokument sofort geöffnet werden soll ("Confirm open after download"). Weiters kann angegeben werden, ob ein Dokument in-process oder out-of-process geöffnet werden soll ("Browse in same window").
  • Mit dem optionalen Postfix kann angegeben werden, wie der Webbrowser die ankommenden Daten interpretiert. Beispielsweise bewirkt "x.doc" als Postfix, dass der Webbrowser automatisch Microsoft Office Word öffnet. Wird kein Postfix angegeben, so wird versucht, aus dem Content-Aggregat bzw. über die Funktion CCooContent::GetFile() eine passende Dateiendung zu bestimmen. Aus der Dateiendung wird ein MIME-Type berechnet und als Content-Type-Header an den Webbrowser zurückgegeben.
  • Der optionale Parameter EXPIRES legt fest, welches Ablaufdatum der gelieferte Inhalt haben soll. Der Parameter-Wert gibt die Anzahl der Sekunden ab dem aktuellen Zeitpunkt an. Wird dieser Parameter nicht angegeben, so gilt der gelieferte Inhalt als bereits abgelaufen (HTTP-Header "Expires: 0"). Wenn der Client diesen URL erneut referenziert, so wird der Inhalt erneut vom Server angefordert.
  • Das DAV-Kommando sollte nur dann verwendet werden, wenn der Inhalt von einer Applikation bearbeitet wird. In allen anderen Fällen ist das READONLY-Kommando vorzuziehen.
  • Die Reihenfolge der Parameter (OBJ, CONTENT, ARG, DOWNLOAD usw.) ist irrelevant.

Beispiel:

WebDAV-Aufrufe:

http://<webserver>/<vdir>/FSCDAV/DAV?OBJ=COO.1.137.2.222&CONTENT=content(0)contcontent(0)
http://<webserver>/<vdir>/FSCDAV/DAV?OBJ=COO.1.137.2.222&CONTENT=content(0)contcontent(0)&px=COO.1.1001.1.63575&gx=COO.1.1001.1.63762

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.222&CONTENT=content(0)contcontent(0)

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.222&CONTENT=content(0)contcontent(0)/x.doc

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.223/x.xls

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.225&CONTENT=COODESK_1_1_objthumbnail(0)/x.bmp

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.226&CONTENT=COODI_1_1001_imgdoccontents(0)COODI_1_1001_imgcont(0)/x.tif

http://<webserver>/<vdir>/FSCDAV/READONLY?OBJ=COO.1.137.2.222&CONTENT=content(0)contcontent(0)&DOWNLOAD=fsc.doc

VersionierungPermanenter Link zu dieser Überschrift

Die Fabasoft Produktinstallation stellt vier SOAP-Aktionen zum Lesen und Bearbeiten von Versionen über SOAP zur Verfügung:

  • Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPCreateVersion)
  • Version über XML/SOAP lesen (FSCBAI@1.1001:SOAPReadVersion)
  • Version über XML/SOAP wiederherstellen (FSCBAI@1.1001:SOAPRestoreVersion)
  • Version über XML/SOAP vernichten (FSCBAI@1.1001:SOAPDeleteVersion)

Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPCreateVersion)

Diese SOAP-Aktion erstellt eine neue Version des angegebenen Objekts.

Input

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPCreateVersionRequest>
  <objid> Objektadresse </objid>

  <autofixed> Wurde die Version automatisch erstellt </autofixed>

  <description> Beschreibung </description>

  <convertfinalform> Konvertierung ins finale Format </convertfinalform>

  <finalform> Finales Format </finalform>

  <noautopurge> Automatisches Löschen </noautopurge>

</SOAPCreateVersionRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPCreateVersionResponse>
  <version>

    <newversnr> Laufende Nummer der erstellten Version </newversnr>

    <createdat> Erstellungsdatum der Version </createdat>

    
<savedby> Objektadresse des Userobjekts des Erstellers </savedby>
  </version>

</SOAPCreateVersionResponse>

Diese SOAP-Aktion erstellt eine neue Version und legt sie im entsprechenden Fabasoft Folio MMC-Store ab. Das Request-XML kann mit mehreren Parametern befüllt werden, wobei nur die XML-Knoten <objid> des betreffenden Objekts und <description> benötigt werden, um eine Version erfolgreich erzeugen zu können.

Der XML-Knoten <autofixed> dient zur Information und beschreibt, ob die Version automatisch erstellt wurde oder nicht.

Weiters kann eine Version in ein finales Format konvertiert werden. Dies wird mit den beiden XML- Knoten <convertfinalform> und <finalform> ermöglicht. Ist <convertfinalform> TRUE, wird das Zielformat aus <finalform> ausgelesen. Wird ein Zielformat gefunden, wird versucht, eine Konvertierung anzustoßen. Wird kein Zielformat übergeben, wird es aus der aktuellen Domäne ermittelt.

Beispiel:

In der Fabasoft Produktinstallation soll ein Objekt versioniert und in PDF konvertiert werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPCreateVersion) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();


::params.SetEntryValue("objid",0,this.objaddress);

::params.SetEntryValue("description",0,"Das ist ein SOAP-Test");

::params.SetEntryValue("autofixed",0,TRUE);

::params.SetEntryValue("convertfinalform",0,TRUE);

::params.SetEntryValue("finalform",0,"pdf");

::params.SetEntryValue("noautopurge",0,TRUE);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateVersion",::params,&::returnval);

Die Adresse des zu versionierenden Objekts wird im XML-Knoten <objid> hinterlegt. In diesem Fall wurde die Version automatisch vom System erstellt und darf auch ohne Nachfrage gelöscht werden. Weiters wurde eine Konvertierung in PDF angestoßen.

Version über XML/SOAP lesen (FSCBAI@1.1001:SOAPReadVersion)

Mit dieser SOAP-Aktion kann eine Version eines Fabasoft Folio Objekts gelesen werden.

Input

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPReadVersionRequest>
  <objid> Objektadresse </objid>

  <dept> Fachanwendungsbereich </dept>

  <date> Datum der Version </date>

</SOAPReadVersionRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPReadVersionResponse>
  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

  <data> Daten des Objekts </data>

</SOAPReadVersionResponse>

Diese SOAP-Aktion kann verwendet werden, um eine Version eines Objekts zu lesen. Im Request-XML der SOAP-Aktion wird im XML-Knoten <objid> das Objekt angegeben, von dem die Version gelesen werden soll. Der Fachanwendungsbereich muss definiert werden, da über diesen das XML-Mapping in der Konfiguration für Fachanwendungen gesucht wird. Mit dem XML-Mapping wird der XML-Knoten <data> des Response-XML aufbereitet. Im XML-Knoten <date> wird das Datum der zu lesenden Version angegeben.

Beispiel:

In der Fabasoft Produktinstallation soll eine Version eines Objekts gelesen werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPReadVersion) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateContent();


::params.SetEntryValue("objid",0,this.objaddress);

::params.SetEntryValue("dept",0,::dept);

::params.SetEntryValue("date",0,"2005-04-21T14:00:00");
FSCBAI@1.1001:CallSoapXmlEx(::dept,"ReadVersion",::params,&::returnval);

Die Adresse des Objekts, von dem die Version gelesen werden soll,  wird im XML-Knoten <objid> hinterlegt. Über den Fachanwendungsbereich wird das entsprechende XML-Mapping ermittelt, das zur Aufbereitung des Knotens <data> des XML-Response verwendet wird.

Version über XML/SOAP wiederherstellen (FSCBAI@1.1001:SOAPRestoreVersion)

Mit dieser SOAP-Aktion kann eine Version wiederhergestellt werden. Die aktuelle Version des Objekts wird mit der im SOAP-Aufruf definierten Version ersetzt.

Input

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPRestoreVersionRequest>
  <objid> Objektadresse </objid>

  <date> Datum der Version </date>

</SOAPRestoreVersionRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPRestoreVersionResponse>
  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

</SOAPRestoreVersionResponse>

Dieser SOAP-Aktion muss die Objektadresse des entsprechenden Objekts im XML-Knoten <objid> und das Datum der Version im XML-Knoten <date> übergeben werden. Der Inhalt des Objekts wird in der Fabasoft Produktinstallation mit der angegebenen Version ersetzt.

Beispiel:

In der Fabasoft Produktinstallation soll eine Version eines Objekts wiederhergestellt werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPRestoreVersion) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateContent();


::params.SetEntryValue("objid",0,this.objaddress);

::params.SetEntryValue("date",0,"2005-04-21T14:00:00");


FSCBAI@1.1001:CallSoapXmlEx(::dept,"Restore
Version",::params,&::returnval)

Die Adresse des Objekts wird im XML-Knoten <objid> hinterlegt. Das Datum definiert die Version, die wiederhergestellt wird.

Version über XML/SOAP vernichten (FSCBAI@1.1001:SOAPDeleteVersion)

Diese SOAP-Aktion vernichtet eine definierte Version eines Objekts.

Input

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPDeleteVersionRequest>
  <objid> Objektadresse </objid>

  <date> Datum der Version </date>

</SOAPDeleteVersionRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:version

<SOAPDeleteVersionResponse>
  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

</SOAPDeleteVersionResponse>

Dieser SOAP-Aktion muss die Objektadresse des entsprechenden Objekts im XML-Knoten <objid> und das Datum der Version im XML-Knoten <date> übergeben werden. Die definierte Version wird vernichtet.

Beispiel:

In der Fabasoft Produktinstallation soll eine Version eines Objekts vernichtet werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Version über XML/SOAP erzeugen (FSCBAI@1.1001:SOAPDeleteVersion) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateContent();


::params.SetEntryValue("objid",0,this.objaddress);

::params.SetEntryValue("date",0,"2005-04-21T14:00:00");


FSCBAI@1.1001:CallSoapXmlEx(::dept,"Delete
Version",::params,&::returnval)

Die Adresse des Objekts wird im XML-Knoten <objid> hinterlegt. Das Datum definiert die Version, die vernichtet wird.

Neues Objekt erzeugenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Objekt über XML/SOAP erzeugen und Eigenschaften setzen (FSCBAI@1.1001:SOAPCreateObject) bietet die Möglichkeit, ein neues Objekt zu erzeugen.

Input

Namespace: urn:schemas-fabasoft-com:bai:object

<SOAPCreateObjectRequest>
  <objclass> Referenz der Objektklasse </objclass>

  <objname> Name des Objekts </objname>

  <containerlist>

    <container> //n-mal

      <contaddress> Adresse des Containers </contaddress>

      <contattr> Zieleigenschaft des Containers </contattr>

    </container>

  </containerlist>

  <initialization>
    <mapping> Objektadresse des XML-Mapping </mapping>

    <dept> Referenz des Fachanwendungsbereichs </dept>

    <data>

      XML-Teilbaum

    </data>

  </initialization>

</SOAPCreateObjectRequest >

Output

Namespace: urn:schemas-fabasoft-com:bai:object

<SOAPCreateObjectResponse>
  <objaddress> Objektadresse des erzeugten Objekts

  </objaddress>

  <objname> Objektname des erzeugten Objekts </objname>

  <mappedcontent> XML, das durch das angagbene XML-Mapping erstellt wurde

  </mappedcontent>

</SOAPCreateObjectResponse>

Die Aktion erzeugt ein neues Objekt der Objektklasse, die im XML-Element <objclass> angegeben ist. Falls zusätzlich zu den Informationen zum Erzeugen des Objekts Initialisierungsdaten im Knoten <initialization>/<data> angegeben sind (statt dem <any>-Block), so werden diese mittels einer XML-Abbildung in das neu erzeugte Objekt geladen. Zur Ermittlung des Mappings gibt es zwei Möglichkeiten:

  1. Die XML-Abbildung wird aus der Aggregatsliste Schematazuordnung aus der Konfiguration für Fachanwendungen ausgelesen. Dafür muss im Request-XML <initialization>/<dept> mit der Referenz eines Fachanwendungsbereichs befüllt werden. Anschließend sieht die Aktion in der Konfiguration nach und sucht nach einem Eintrag mit folgenden Kriterien:
    • Objektklasse: Objektklasse aus der XML-Node <objclass>
    • Auslöser: FSCBAI@1.1001:SOAPCreateObject
    • Fachanwendungsbereich: Fachanwendungsbereich aus der XML-Node <initialization>/<dept>
    • Zuordnung: Eingetragenes XML-Mapping
  2. Die XML-Abbildung wird direkt in der XML-Node <intialization>/<mapping> der SOAP-Aktion übergeben.

Die Aktion liefert als Ergebnis ein XML-Dokument, das die Objektadresse, den Objektnamen und das Erstellungsdatum enthält.

Beispiel:

Anhand eines in der Konfiguration für Fachanwendungen eingetragen XML-Mappings soll ein neues Objekt erstellt und mit Metadaten initialisiert werden. Weiters soll das Objekt in einem Ordner abgelegt werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Objekt über XML/SOAP erzeugen und Eigenschaften setzen (FSCBAI@1.1001:SOAPCreateObject) übermittelt.

::params=coort.CreateDictionary();
::init=coort.CreateDictionary();

::containerlist=coort.CreateDictionary();

::container=coort.CreateDictionary();


::params.SetEntryValue("objclass",0,"COOMSOFFICE@1.1:WinWordObject");

::params.SetEntryValue("objname",0,"Erzeugtes Wordobjekt");


::container.SetEntryValue("contaddress",0,"COO.1.1065.1.165");

::container.SetEntryValue("contattr",0,"COOSYSTEM@1.1:objchildren");

::containerlist.SetEntryValue("container",0,:: container);


::init.SetEntryValue("dept",0,"FSCBANEW@10.531:DeptA ");

::init.SetEntryValue("data",0,"XML-Teilbaum");


::params.SetEntryValue("containerlist",0,::containerlist);

::params.SetEntryValue("initialization",0,::init);


FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateObject",::params,&::returnval);

Lösungsbereich WorkflowPermanenter Link zu dieser Überschrift

Die Fabasoft Produktinstallation stellt mit der Softwarekomponente Integration for Business Application: Workflow (FSCBAIWF@1.1001) SOAP-Aktionen zum Steuern und Erstellen von Prozessen and Aktivitäten zur Verfügung.

Neue Prozessinstanz erzeugenPermanenter Link zu dieser Überschrift

Initialisieren der Prozesse eines Objekts über SOAP (FSCBAIWF@1.1001:SOAPInitializeWorkFlow)

Diese SOAP-Aktion initialisiert einen Workflow auf einem Fabasoft Folio Objekt. Es kann die gewünschte Prozessdefinition im Request-XML mitgegeben werden. Weiters besteht die Möglichkeit zu entscheiden, ob der neue Prozess zum alten hinzugefügt werden soll oder nicht. Hier kann es je nach Vorkonfiguration zu unterschiedlichen Ergebnissen kommen.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:control

<SOAPInitializeWorkFlowRequest>
  <obj-id> Betroffenes Objekt

    ...

  
</obj-id>
  <procdef-ids> Prozessdefinition(en)

    ...

  </procdef-ids>

  <additionalobj-ids> Weitere Objekte des Prozesses

    ...

  
</additionalobj-ids>
  <submit-deadline> Termin für Vorlage </submit-deadline>

</SOAPInitializeWorkFlowRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:control

<BAIWFNoResponse>
</BAIWFNoResponse>

Im Element <obj-id> wird die Objektadresse des Objekts, auf das der Workflow initialisiert werden soll, angegeben.

Beispiel:

In der Fabasoft Produktinstallation soll ein Prozess auf einen Objekt initialisiert werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Initialisieren der Prozesse eines Objektes über SOAP (FSCBAI@1.1001:SOAPInitializeWorkFlow) übermittelt

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::params=coort.CreateDictionary();

::objid=coort.CreateDictionary();

::procdef=coort.CreateDictionary();


::objid.SetEntryValue("id-ref",0,this.objaddress);

::params.SetEntryValue("obj-id",0,::objid);


::procdef.SetEntryValue("obj-id",0,"COO.10.531.1.10006");

::params.SetEntryValue("procdef-ids",0,::procdef);


::params.SetEntryValue("submit-deadline",0,"2007-12-12T12:00:00");


FSCBAI@1.1001:CallSoapXmlEx(::dept,"InitializeWorkFlow",::params,&::returnval)

Erstellen von AktivitätenPermanenter Link zu dieser Überschrift

Externe Aktivität über SOAP erzeugen (FSCBAIWF@1.1001:SOAPCreateExternalActivity)

Mit dieser SOAP-Aktion können Objekte der Objektklasse Externe Aktivität (COOWF@1.1:ExternalActivityInstance) erstellt werden. Diese Aktivitäten müssen der SOAP-Aktion Externe Aktivität über SOAP einfügen (FSCBAIWF@1.1001:SOAPInsertExternalActivity) übergeben werden.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:createactinst

<SOAPCreateExternalActivityRequest>
  <actinst-title> Name </actinst-title>

  <actinst-participant> Teilnehmer

    ...

  </actinst-participant>

  <actinst-receivedat> Empfangen am </actinst-receivedat>

  <actinst-startedat> Gestartet am </actinst-startedat>

  <actinst-completedat> Beendet am </actinst-completedat>

</SOAPCreateExternalActivityRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:createactinst

<SOAPCreateExternalActivityResponseType>
  <result> Ergebnis der SOAP-Aktion </result>

  <actinst-id> Objektadresse der neuen Aktivität </actinst-id>

  <actinst-name> Name der neuen Aktivität </actinst-name>

</SOAPCreateExternalActivityResponseType>

Beispiel:

In der Fabasoft Produktinstallation soll eine neue Externe Aktivität erstellt werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Externe Aktivität über SOAP erzeugen (FSCBAIWF@1.1001:SOAPCreateExternalActivity) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::participant=coort.CreateDictionary();

::idtype1=coort.CreateDictionary();

::idtype2=coort.CreateDictionary();


::idtype1.SetEntryValue("id-ref",0,“Adresse des User“);

::idtype2.SetEntryValue("id-ref",0,“Adresse der Gruppe);

::participant.SetEntryValue("user-id",0,::idtype1);

::participant.SetEntryValue("group-id",0,::idtype2);

::params.SetEntryValue("actinst-title",0,"Test");

::params.SetEntryValue("actinst-participant",0,::participant);

::params.SetEntryValue("actinst-receivedat",0,"2005-02-02T12:30:00");

::params.SetEntryValue("actinst-startedat",0,"2005-02-02T12:10:00");

::params.SetEntryValue("actinst-completedat",0,"2005-02-02T12:20:00");

FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateExternalAct",::params,&::returnval);

Einfügen von AktivitätenPermanenter Link zu dieser Überschrift

Externe Aktivität über SOAP einfügen (FSCBAIWF@1.1001:SOAPInsertExternalActivity)

Diese SOAP-Aktion kann verwendet werden, um Aktivitäten der Objektklasse Externe Aktivität (COOWF@1.1:ExternalActivityInstance) in einen Prozess einzufügen.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:control

<SOAPInsertExternalActivityRequest>
  <obj-id> Betroffenes Objekt mit Prozess im Wartezustand

    ...

  </obj-id>

  <extinst-id> Einzufügende Aktivität der Objektklasse Externe Aktivität (diese Aktivität muss vorher erzeugt werden)

    ...

  </extinst-id>
  <ext-complete> Externe Bearbeitung fertig </ext-complete>

</SOAPInsertExternalActivityRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:control

<BAIWFNoResponse>
</BAIWFNoResponse>

Ist bei einer Aktivitätsdefinition oder bei einer Aktivität die Eigenschaft Aktivität wird von Extern synchronisiert (actinstexternalsync bzw. actdefexternalsync) ausgewählt, so wird diese Aktivität (und folgende Aktivitäten) in einen Wartezustand versetzt. Ab diesem Zeitpunkt kann die Aktivität in der Liste Externe Synchronisation im Arbeitsvorrat eingesehen werden. Während die Aktivität auf externe Synchronisation wartet, können mithilfe der angegebenen SOAP-Aktion Aktivitäten vor der Aktivität eingefügt werden. Die Fortsetzung des Prozesses muss explizit signalisiert werden, indem beim Aufruf der SOAP-Aktion das Element <ext-complete> auf TRUE gesetzt wird.

Beispiel:

In einem Prozess der Fabasoft Produktinstallation soll eine neue Externe Aktivität eingefügt werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Externe Aktivität über SOAP einfügen (FSCBAIWF@1.1001:SOAPInsertExternalActivity) übermittelt.
::objid.SetEntryValue("id-ref",0,”Objektaddresse”);
::params.SetEntryValue("obj-id",0,::objid);

::extinstid.SetEntryValue("id-ref",0, „Objektaddresse der Aktivität“);

::params.SetEntryValue("extinst-id",0,::extinstid);

::params.SetEntryValue("ext-complete",0,FALSE);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"InsertExternalActivity",::params,&::returnval)

Vorschreiben (FSCBAIWF@1.1001:SOAPPrescribeObject)Permanenter Link zu dieser Überschrift

Mit dieser SOAP-Aktion kann einem Benutzer ein Ad-hoc-Workflow über SOAP vorgeschrieben werden. Der Benutzer kann pro vorgeschriebener Aktivität definiert werden.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:control

<SOAPPrescribeObjectRequest>
  <obj-id> Betroffene Aktivitätsinstanz

    ...

  </obj-id>

  <remark> Bemerkung </remark>

  <prescr-block>

    <prescr-parallel> Vorschreibungen parallel durchführen

    </prescr-parallel>

    <prescription> Vorgeschriebene Aktivitäten

      ...

    </prescription>

  </prescr-block>

  <notcomplete>Die alte Aktivität wird nicht beendet</notcomplete>

</SOAPPrescribeObjectRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:control

<BAIWFNoResponse>
</BAIWFNoResponse>

Mit dieser Aktion können beliebige Aktivitäten vorgeschrieben werden. Ausgeführt wird die Aktion auf die Aktivitätsinstanz, die im Element <obj-id> angegeben wird. Wichtig ist, dass diese Aktivität den Status „Begonnen“ hat. Ansonsten schlägt diese SOAP-Aktion fehl.

Beispiel:

In einem Prozess der Fabasoft Produktinstallation soll eine Aktivität vorgeschrieben werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Objekt vorschreiben (FSCBAIWF@1.1001:SOAPPrescribeObject) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::objid=coort.CreateDictionary();

::prescrblock=coort.CreateDictionary();

::prescription=coort.CreateDictionary();

::participant=coort.CreateDictionary();

::userid=coort.CreateDictionary();

::objid.SetEntryValue("id-ref",0,”Addresse der Aktivität”);

::params2.SetEntryValue("obj-id",0,::objid);

::actdefprescrid.SetEntryValue("id-ref",0,"Objektadresse der Aktivität, die vorgeschrieben warden soll ");

::userid.SetEntryValue("id-ref",0,”Teilnehmer”);

::participant.SetEntryValue("user-id",0,::userid);

::prescription.SetEntryValue("actdefprescr-id",0,::actdefprescrid);

::prescription.SetEntryValue("participant",0,::participant);

::prescription.SetEntryValue("remark",0,"Test");

::prescription.SetEntryValue("actdefback-id",0,::actdefbackid);

::prescrblock.SetEntryValue("prescription",0,::prescription);

::params.SetEntryValue("remark",0,"Test");

::params.SetEntryValue("prescr-block",0,::prescrblock);

::params.SetEntryValue("notcomplete",0,"FALSE");

FSCBAI@1.1001:CallSoapXmlEx(::dept,"PrescribeObject",::params,&::returnval)

Bemerkungen können sowohl bei der vorgeschrieben Aktivität, als auch bei den neuen Aktivitäten eingegeben werden. Wichtig ist, dass die allgemeine Bemerkung nur dann eingetragen wird, wenn der XML-Knoten <notcomplete> auf FALSE gesetzt wird.

ZuteilenPermanenter Link zu dieser Überschrift

Zustand der Aktivität auf 'zugeteilt' setzen (FSCBAIWF@1.1001:SOAPSetDelegated)

Mit dieser Aktion kann eine Aktivität einem Workflowteilnehmer zugeteilt werden.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:control

<SOAPSetDelegatedRequest>
  <obj-id> Betroffene Aktivitätsinstanz

    ...

  </obj-id>

  <participant> Teilnehmer

    ...

  </participant>

  <partmansubst> Manueller Teilnehmer
    ...

  </partmansubst>

  <remark> Bemerkung </remark>

  <submit-deadline> Termin für Vorlage </submit-deadline>

  <start-deadline> Termin für Beginn </start-deadline>

  <end-deadline> Termin für Erledigung </end-deadline>

</SOAPSetDelegatedRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:control

<BAIWFNoResponse>
</BAIWFNoResponse>

Mit dieser Aktion wird die angegebene Aktivitätsinstanz einem in <participant> bzw. <partmansubst> angegebenen Workflowteilnehmer zugeteilt. Wichtig ist, dass die Aktivität, die im Knoten <obj-id> angegeben ist, den Status „Begonnen“ hat.

Beispiel:

In einem Prozess der Fabasoft Produktinstallation soll eine Aktivität zugeteilt werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Zustand der Aktivität auf „zugeteilt“ setzen (FSCBAIWF@1.1001:SOAPSetDelegated) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::objid=coort.CreateDictionary();

::participant=coort.CreateDictionary();

::userid=coort.CreateDictionary();

::groupid=coort.CreateDictionary();


::objid.SetEntryValue("id-ref",0,"Aktivitätsinstanz");

::params.SetEntryValue("obj-id",0,::objid);


::participant.SetEntryValue("mata-participant",0,0);

::userid.SetEntryValue("id-ref",0,“Addresse des Users“);

::participant.SetEntryValue("user-id",0,::userid);

::groupid.SetEntryValue("id-ref",0,“Adresse der Gruppe“);

::participant.SetEntryValue("group-id",0,::groupid);

::params.SetEntryValue("participant",0,::participant);

::params.SetEntryValue("remark",0,"Test");

::params.SetEntryValue("submit-deadline",0,“Datum“);

::params.SetEntryValue("start-deadline",0,“Datum“);

::params.SetEntryValue("end-deadline",0,“Datum“);


FSCBAI@1.1001:CallSoapXmlEx(::dept,"SetDelegated",::params,&::returnval)

Weiterleiten/Beenden einer Aktivität (FSCBAIWF@1.1001:SOAPSetCompleted)Permanenter Link zu dieser Überschrift

Soll eine Aktivität, die den Status „Begonnen“ hat über SOAP weitergeleitet bzw. beendet werden, muss diese SOAP-Aktion aufgerufen werden.

Input

Namespace: urn:schemas-fabasoft-com:baiwf:control

<SOAPSetCompletedRequest>
  <obj-id> Betroffene Aktivitätsinstanz

    ...

  </obj-id>

  <remark> Bemerkung </remark>

</SOAPSetCompletedRequest>

Output

Namespace: urn:schemas-fabasoft-com:baiwf:control

<BAIWFNoResponse>
</BAIWFNoResponse>

Im Element <obj-id> wird die Objektadresse der Aktivitätsdefinition angegeben, die beendet werden soll. Die Aktivität muss den Status „Begonnen“ haben.

Beispiel:

In einem Prozess der Fabasoft Produktinstallation soll eine Aktivität weitergeleitet werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Weiterleiten/Beenden einer Aktivität (FSCBAIWF@1.1001:SOAPSetCompleted) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::objid.SetEntryValue("id-ref",0,”Addresse der Aktivität”);

::params.SetEntryValue("obj-id",0,::objid);

::params.SetEntryValue("remark",0,"Test");


FSCBAI@1.1001:CallSoapXmlEx(::dept,"SetCompleted",::params,&::returnval)

UnterschreibenPermanenter Link zu dieser Überschrift

Die Einstellungen einer Unterschriftenart (COOSIGNATURE@1.1:SignatureType) können mittels der Eigenschaft Änderungen der vordefinierten Eigenschaften (COOSIGNATURE@1.1:sgtmodifications) je Mandant überschrieben werden. Diese Änderungen können dynamisch via Expression (COOSIGNATURE@1.1:sgmcondition) deaktiviert werden, damit z.B. mittels einer Transaktionsvariable die Einstellungen einer Unterschriftenart (wie z.B. Art der Authentisierung) geändert werden können.

Global Scope

DICTIONARY

signtype

Unterschriftenart

modification

Änderungen der vordefinierten Eigenschaften

Local Scope

DICTIONARY

(empty)

Result

BOOLEAN

Lösungsbereich SuchePermanenter Link zu dieser Überschrift

Die Fabasoft Produktinstallation bietet einer Fachanwendung die Möglichkeit Objekte zu suchen. Die Ergebnisse werden aufbereitet zurückgeliefert.

Objekte via XML/SOAP suchen und Eigenschaften auslesenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Objekte via XML/SOAP suchen und Eigenschaften auslesen (FSCBAI@1.1001:SOAPSearch) bietet die Möglichkeit, Objekte über eine Standard-Suchabfrage zu suchen und die Metadaten auszulesen.

Input

Namespace: urn:schemas-fabasoft-com:bai:search

<SOAPSearchRequest>
  <query>

    Fabasoft Folio Suchabfrage

  </query>

  <mapping> Objektadresse des Mappings </mapping>

  <dept> Referenz des Fachanwendungsbereichs </dept>

</SOAPSearchRequest>

Output

Namespace: urn:schemas-fabasoft-com:bai:search

<SOAPSearchResponse>
  <queryresult>

    <object> //n-mal

      <objname> Objektname </objname>

      <objaddress> Objektadresse </objaddress>

      <data> Ergebnis-XML laut Mapping </data>

      ...

    
</object>
  </queryresult>

</SOAPSearchResponse>

Die Aktion erwartet im XML-Element <query> eine Fabasoft Folio Suchabfrage. Für die gefundenen Objekte werden Basisinformationen (Objektname im Element <objname> und Objektadresse im Element <objaddress>) zurückgeliefert.

Wird im SOAP-Request für den Aufruf im XML-Knoten mapping eine XML-Abbildung für die Objektklasse der gesuchten Objekte übergeben, so wird diese Abbildung auf jedes Objekt der Suchergebnisliste angewendet. Das daraus generierte XML-Dokument wird an die Stelle des <any>-Elements im Output-XML-Dokument der Aktion eingefügt.

Weiters besteht die Möglichkeit das Mapping über die Konfiguration für Fachanwendungen zu ermitteln. Hier muss wieder pro Objektklasse, Fachanwendungsbereich und dem Auslöser FSCBAI@1.1001:SOAPSearch ein Mapping für die gewünschte Objektklasse eingetragen werden.

Wird im SOAP-Request für den Aufruf im XML-Knoten attrlist ein oder mehrere XML-Knoten attr mit einer Fabasoft DUCX Expression übergeben, so werden diese auf jedes Objekt der Suchergebnisliste angewendet. Das Ergebnis wird in einer, dem Datentyp des Ergebnisses angelehnten, XML-Struktur abgebildet und an die Stelle des <attrlist>-Elements im Output-XML-Dokument der Aktion eingefügt.

Beispiel:

Ausschnitt aus dem SOAP-Request:

<attrlist>
  <attr>COOSYSTEM@1.1:objcreatedby</attr>

  <attr>COOSYSTEM@1.1:content</attr>

</attrlist>

Ausschnitt aus dem SOAP-Response:

<queryresult>
  <object>

    <objname>Search Note</objname>

    <objaddress>COO.1.1065.3.3008348</objaddress>

    <attrlist>

      <fsc1:OBJECT xmlns:fsc1="urn:schemas-fabasoft-com:bai:search"

       fsc1:reference="COOSYSTEM@1.1:objcreatedby"

       fsc1:index="0">COO.1.1065.1.16</fsc1:OBJECT>

      <fsc1:AGGREGATE xmlns:fsc1="urn:schemas-fabasoft-com:bai:search"

       fsc1:reference="COOSYSTEM@1.1:content" fsc1:index="0">

        <fsc1:CONTENT fsc1:reference="COOSYSTEM@1.1:contcontent"

         fsc1:index="0">WW91IGNhbiBkZWNvZGUgQmFzZTY0IQ==</fsc1:CONTENT>

        <fsc1:INTEGER fsc1:reference="COOSYSTEM@1.1:contsize"

         fsc1:index="0">22</fsc1:INTEGER>

        <fsc1:DATETIME fsc1:reference="COOSYSTEM@1.1:contchanged"

         fsc1:index="0">2009-09-18 12:04:22</fsc1:DATETIME>

        <fsc1:STRING fsc1:reference="COOSYSTEM@1.1:contextension"

         fsc1:index="0">txt</fsc1:STRING>

      </fsc1:AGGREGATE>

    </attrlist>

  </object>

</queryresult>

Falls beim Aufruf der Aktion ein Fehler auftritt, wird ein Standard-SOAP-Fehler generiert.

Hinweis: Der Aufbau einer gültigen Fabasoft Folio Suchabfrage kann der Entwicklerdokumentation von Fabasoft Folio entnommen werden.

Beispiel:

Es soll in der Fabasoft Produktinstallation nach Inhaltsobjekten gesucht werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Objekte via XML/SOAP suchen und Eigenschaften auslesen (FSCBAI@1.1001:SOAPSearch) übermittelt.

::returnval=coort.CreateDictionary();
::params =coort.CreateDictionary();

::params.SetEntryValue("query",0, „LIMIT 100 SELECT * FROM COOSYSTEM@1.1:ContentObject”);

::params.SetEntryValue("mapping",0, „COO-Adresse des Mappings”);

FSCBAI@1.1001:CallsSoapXmlEx(::dept,”SOAPSearch”,::params,&::returnval)

Lösungsbereich Check-out – Check-inPermanenter Link zu dieser Überschrift

Werden Änderungen eines Fabasoft Folio Objekts von der Fachanwendung durchgeführt, kann diese das betreffende Objekt in der Fabasoft Produktinstallation sperren und wieder entsperren. So wird verhindert, dass zur gleichen Zeit ein anderer Benutzer Änderungen an diesem Objekt vornimmt.

Auschecken über SOAP (FSCBAI@1.1001:SOAPCheckOut)Permanenter Link zu dieser Überschrift

Ein Check-out eines Objekts sperrt das betreffende Objekt in der Fabasoft Produktinstallation (permanente Sperre). Darüber hinaus können weitere Objekte mitgesperrt werden. Bei allen gesperrten Objekten wird eine neue Version begonnen.

Input

Namespace: urn:schemas-fabasoft-com:SOAPCheckInOut

<SOAPCheckOutRequest>
  <id> Objektadresse </id>

  <lock> Objekte permanent sperren Ja/Nein </lock>

  <lockpropagate> Sperren weiterführen Ja/Nein

  </lockpropagate>

  <dept> Fachanwendungsbereich </dept>

</SOAPCheckOutRequest>

Output

Namespace: urn:schemas-fabasoft-com:SOAPCheckInOut

<SOAPCheckOutResponse>
  <idcode> Zeichenkette mit Statusinformationen </idcode>

  <doc> XML-Daten ensprechend dem Mapping

    ...

  
</doc>
  <lockfailed> Nicht gesperrte Objekte

    <object> Objektadresse </object>

    ...

  </lockfailed>

  <locksuccess> Gesperrte Objekte

    <object> Objektadresse </object>

    ...

  
</locksuccess>
</SOAPCheckOutResponse>

Das Element <lockpropagate> gibt an, ob die Sperre auf alle Objekte weitergeführt werden soll, die durch einen Ausdruck in der Eigenschaft Weiterführen von permanenten Sperren (FSCBAI@1.1001:propagatedlocks) in der Konfiguration für Fachanwendungen angegeben sind. Wenn im Element <lock> FALSE angegeben wird, wird das Element <lockpropagate> nicht berücksichtigt.

Im Element <idcode> wird eine Zeichenkette zurückgegeben, die beim Check-in-Aufruf wieder mitgegeben werden muss, um alle Objekte wieder entsperren zu können, die beim Check-out gesperrt wurden. In <lockfailed> werden die Objektadressen der Objekte zurückgegeben, bei denen versucht wurde eine permanente Sperre zu setzen, dabei jedoch ein Fehler aufgetreten ist (z. B. durch fehlende Berechtigungen etc.). In <locksuccess> werden die Objektadressen der Objekte zurückgegeben, bei denen eine permanente Sperre gesetzt wurde.

Das Element <doc> ist vom Typ „any“ und beinhaltet die ausgecheckten Daten. Das Schema für diese Daten kann in der Konfiguration für Fachanwendungen in der Eigenschaft Schematazuordnungen (FSCBAI@1.1001:schemamaps) definiert werden. Die gewünschte Schematazuordnung muss dem Fachanwendungsbereich zugewiesen werden, der auch der SOAP-Aktion mitgegeben wurde. Ist das nicht der Fall, kann keine Transformation durchgeführt werden.

Beispiel:

Es soll ein Objekt mit Objektliste ausgecheckt werden. Die weiterführenden Sperren müssen aktiviert sein. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Auschecken über SOAP (FSCBAI@1.1001:SOAPCheckOut) übermittelt.

::returnval=coort.CreateDictionary();
::params.SetEntryValue("id",0,this.objaddress);

::params.SetEntryValue("lock",0,"TRUE");

::params.SetEntryValue("lockpropagate",0,"TRUE");

::params.SetEntryValue("dept",0,::dept.objaddress);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"CheckOut",::params,&::returnval);

objsubject=::returnval.GetEntryValue2("idcode",0)

Einchecken über SOAP (FSCBAI@1.1001:SOAPCheckIn)Permanenter Link zu dieser Überschrift

Beim Check-in werden die Daten aktualisiert und anschließend wird optional das Objekt und gegebenenfalls weitere Objekte, die beim Check-out gesperrt wurden, wieder freigegeben. Zusätzlich wird eine neue Version begonnen.

Input

Namespace: urn:schemas-fabasoft-com:SOAPCheckInOut

<SOAPCheckInRequest>
  <idcode> Zeichenkette mit Statusinformationen </idcode>

  <overwrite> Überschreiben, falls Objekt geändert Ja/Nein

  </overwrite>

  <unlock> Objekte entsperren Ja/Nein </unlock>

  <doc> XML-Daten ensprechend dem Mapping

    ...

  </doc>

  <dept> Fachanwendungsbereich </dept>

</SOAPCheckInRequest>

Output

Namespace: urn:schemas-fabasoft-com:SOAPCheckInOut

<SOAPCheckInResponse>
  <resultstring> Ergebnis der SOAP-Aktion </resultstring>

</SOAPCheckInResponse>

Im Element <idcode> muss die Zeichenkette übergeben werden, die beim Check-out-Aufruf zurückgegeben wurde, um alle beim Check-out gesperrten Objekte wieder entsperren zu können. In <overwrite> wird angegeben, ob die Objekte auch dann überschrieben werden sollen, wenn die Objekte in der Zwischenzeit geändert wurden. Die Änderungen werden anhand des Änderungsdatums und des Erstellungsdatums der aktuellen Version erkannt. Standardwert für <overwrite> ist FALSE. Das Element <unlock> gibt an, ob die Objekte nach dem Check-in wieder entsperrt werden sollen. Dadurch ist es möglich, z. B. zwischendurch mehrmals Daten zurück zu schreiben ohne dabei die Objekte zu entsperren. Der Standardwert für <unlock> ist TRUE. Fehler werden über den SOAP-Fehlerstatus zurückgegeben.

Das Element <doc> ist vom Typ „any“ und beinhaltet die Daten, die beim Einchecken in das Geschäftsobjekt geschrieben werden sollen. Das Schema für diese Daten wird in der Konfiguration für Fachanwendungen in der Eigenschaft Schematazuordnungen (FSCBAI@1.1001:schemamaps) aus der dort angegebenen Abbildung von XML-Elementen auf Objekteigenschaften ausgelesen. Damit das XML-Schema in der Konfiguration für Fachanwendungen gefunden werden kann, muss auch der entsprechende Fachanwendungsbereich im XML-Knoten <dept> übergeben werden.

Beispiel:

Es soll ein Objekt mit Objektliste eingecheckt werden. Die permanenten Sperren müssen deaktiviert sein. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Einchecken über SOAP (FSCBAI@1.1001:SOAPCheckIn) übermittelt.

::params=coort.CreateDictionary();
::returnval=coort.CreateDictionary();

::params.SetEntryValue("idcode",0,objsubject);

::params.SetEntryValue("overwrite",0,"TRUE");

::params.SetEntryValue("unlock",0,TRUE);

::params.SetEntryValue("dept",0,::dept.objaddress);

FSCBAI@1.1001:CallSoapXmlEx(::dept,"CheckIn",::params,&::returnval);

Generische SOAP-AktionenPermanenter Link zu dieser Überschrift

Im Folgenden finden Sie generische SOAP-Aktionen.

Generisches Lesen von Eigenschaften von ObjektenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Eigenschaften über XML/SOAP lesen (generisch) (FSCBAI@1.1001:SOAPGenericGetProperties) bietet die Möglichkeit, Eigenschaften eines Objekts generisch auszulesen.

Input

Namespace: urn:schemas-fabasoft-com:universal

<object>
  <objaddress> Objektadresse des Objekts

  </objaddress>

  <attrlist>

    <attr> Referenz einer Fabasoft Folio Eigenschaft

    </attr>

    ...

  </attrlist>

</object>

Output

Namespace: urn:schemas-fabasoft-com:universal

<OBJECT objaddress="Objektadresse des Objekts">
  <BOOLEAN reference="Referenz der Eigenschaft"> Wert der Eigenschaft </BOOLEAN>

  <BOOLEANLIST reference="Referenz der Eigenschaft">

    <BOOLEAN reference="..."> Wert der Eigenschaft </BOOLEAN>

    ...

  </BOOLEANLIST>

  <STRING reference="..."> Wert der Eigenschaft </STRING>

  <STRINGLIST reference="...">

    <STRING reference="..."> Wert der Eigenschaft </STRING>

    ...

  </STRINGLIST>

  <FLOAT reference="..."> Wert der Eigenschaft </FLOAT>

  <FLOATLIST reference="...">

    <FLOAT reference="..."> Wert der Eigenschaft </FLOAT>

    ...

  </FLOATLIST>

  <INTEGER reference="..."> Wert der Eigenschaft </INTEGER>

  <INTEGERLIST reference="...">

    <INTEGER reference="..."> Wert der Eigenschaft </INTEGER>

    ...

  </INTEGERLIST>

  <CONTENT reference="..."> Wert der Eigenschaft </CONTENT>

  <CONTENTLIST reference="...">

    <CONTENT reference="..."> Wert der Eigenschaft </CONTENT>

    ...

  </CONTENTLIST>

  <OBJECT reference="..."> Wert der Eigenschaft </OBJECT>

  <OBJECTLIST reference="...">

    <OBJECT reference="..."> Wert der Eigenschaft </OBJECT>

    ...

  </OBJECTLIST>

  <DATETIME reference="..."> Wert der Eigenschaft </DATETIME>

  <DATETIMELIST reference="...">

    <DATETIME reference="..."> Wert der Eigenschaft </DATETIME>

    ...

  </DATETIMELIST>

  <ENUM reference="..."> Wert der Eigenschaft </ENUM>

  <ENUMLIST reference="...">

    <ENUM reference="..."> Wert der Eigenschaft </ENUM>

    ...

  </ENUMLIST>

  <AGGREGATE reference="..."> Wert der Eigenschaft </AGGREGATE>

  <AGGREGATELIST reference="...">

    <AGGREGATE reference="..."> Wert der Eigenschaft </AGGREGATE>

    ...

  </AGGREGATELIST>

</OBJECT>

Die Aktion liefert zu dem im Element <objaddress> angegebenen Objekt die Werte jener Eigenschaften, die in <attrlist> angegeben sind. Falls keine Eigenschaften spezifiziert sind, werden alle Eigenschaften des Objekts zurückgeliefert.

Um die Antwort zu erzeugen werden die Werte der Eigenschaften entsprechend ihres Typs in Skalare und Listen gruppiert. Das XML-Attribut reference speichert die Referenz der Eigenschaft, wodurch die Werte eindeutig zugeordnet werden können.

Die Werte der Fabasoft Folio Eigenschaften werden wie folgt auf die XML-Elemente entsprechend den XML-Schema-Datentypen (XSD) abgebildet:

Datentyp

Beschreibung

<BOOLEAN>

Wert einer booleschen Eigenschaft, 0 für FALSE, 1 für TRUE

<BOOLEANLIST>

Liste von booleschen Eigenschaften, wobei jedes Element der Liste in einem <BOOLEAN>-XML-Element ohne reference-Attribut angegeben ist.

<STRING>

Wert einer Zeichenketteneigenschaft, UTF-8-Zeichenkette

<STRINGLIST>

Liste von Zeichenketteneigenschaften, wobei jedes Element der Liste in einem <STRING>-XML-Element ohne reference-Attribut angegeben ist.

<FLOAT>

Wert einer Gleitkommaeigenschaft

<FLOATLIST>

Liste von Gleitkommaeigenschaften, wobei jedes Element der Liste in einem <FLOAT>-XML-Element ohne reference-Attribut angegeben ist.

<INTEGER>

Wert einer ganzzahligen Eigenschaft

<INTEGERLIST>

Liste von ganzzahligen Eigenschaften, wobei jedes Element der Liste in einem <INTEGER>-XML-Element ohne reference-Attribut angegeben ist.

<CONTENT>

Wert einer Eigenschaft für Inhalte, Base64-kodierter Inhalt

<CONTENTLIST>

Liste von Inhaltseigenschaften, wobei jedes Element der Liste in einem <CONTENT>-XML-Element ohne reference-Attribut angegeben ist.

<OBJECT>

Wert einer Objektzeigereigenschaft, Objektadresse

<OBJECTLIST>

Liste von Objektzeigereigenschaften, wobei jedes Element der Liste in einem <OBJECT>-XML-Element ohne reference-Attribut angegeben ist.

<DATETIME>

Wert einer Eigenschaft für Datum/Zeit

<DATETIMELIST>

Liste von Eigenschaften für Datum/Zeit, wobei jedes Element der Liste in einem <DATETIME>-XML-Element ohne reference-Attribut angegeben ist.

<ENUM>

Wert einer Aufzählungseigenschaft, Zahlenwert

<ENUMLIST>

Liste von Aufzählungseigenschaften, wobei jedes Element der Liste in einem <ENUM>-XML-Element ohne reference-Attribut angegeben ist.

<AGGREGATE>

Wert einer zusammengesetzten Eigenschaft, der wieder aus den Elementen <BOOLEAN>, <STRING>, <FLOAT>, <INTEGER>, <CONTENT>, <OBJECT>, <DATETIME>, <ENUM> und <AGGREGATE> bestehen kann.

<AGGREGATELIST>

Liste von zusammengesetzten Eigenschaften, wobei jedes Element der Liste in einem <AGGREGATE>-XML-Element ohne reference-Attribut angegeben ist.

Beispiel:

Anhand der definierten Eigenschaften sollen Metadaten eines Objekts gelesen werden. Der XML-Request wird mithilfe einer Fabasoft DUCX Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Eigenschaften über XML/SOAP lesen (generisch) (FSCBAI@1.1001:SOAPGenericGetProperties) übermittelt.

::returnval=coort.CreateContent();
::params=coort.CreateDictionary();

::attrlist=coort.CreateDictionary();


::params.SetEntryValue("objaddress",0,this.objaddress);

::attrlist.SetEntryValue("attr",0,"COOSYSTEM@1.1:content.COOSYSTEM@1.1:contsize");

::attrlist.SetEntryValue("attr",1,"COOSYSTEM@1.1:objcreatedat");

::attrlist.SetEntryValue("attr",2,"COOSYSTEM@1.1:objcreatedby");

::params.SetEntryValue("attrlist",0,::attrlist);


FSCBAI@1.1001:CallSoapXmlEx(::dept,"GenericGetProperties",::params,&::returnval)

Generisches Ändern von Eigenschaften von ObjektenPermanenter Link zu dieser Überschrift

Die SOAP-Aktion Eigenschaften über XML/SOAP setzen (generisch) (FSCBAI@1.1001:SOAPGenericSetProperties) bietet die Möglichkeit, Eigenschaften eines Objekts zu ändern.

Input

Namespace: urn:schemas-fabasoft-com:universal

<OBJECT objaddress="Objektadresse des Objekts"
         create="Referenz einer Objektklasse">

  <BOOLEAN reference="Referenz der Eigenschaft"> Wert der Eigenschaft </BOOLEAN>

  <BOOLEANLIST reference="Referenz der Eigenschaft">

    <BOOLEAN reference="..."> Wert der Eigenschaft </BOOLEAN>

    ...

  </BOOLEANLIST>

  <STRING reference="..."> Wert der Eigenschaft </STRING>

  <STRINGLIST reference="...">

    <STRING reference="..."> Wert der Eigenschaft </STRING>

    ...

  </STRINGLIST>

  <FLOAT reference="..."> Wert der Eigenschaft </FLOAT>

  <FLOATLIST reference="...">

    <FLOAT reference="..."> Wert der Eigenschaft </FLOAT>

    ...

  </FLOATLIST>

  <INTEGER reference="..."> Wert der Eigenschaft </INTEGER>

  <INTEGERLIST reference="...">

    <INTEGER reference="..."> Wert der Eigenschaft </INTEGER>

    ...

  </INTEGERLIST>

  <CONTENT reference="..."> Wert der Eigenschaft </CONTENT>

  <CONTENTLIST reference="...">

    <CONTENT reference="..."> Wert der Eigenschaft </CONTENT>

    ...

  </CONTENTLIST>

  <OBJECT reference="..."> Wert der Eigenschaft </OBJECT>
  <OBJECTLIST reference="...">

    <OBJECT reference="..."> Wert der Eigenschaft </OBJECT>

    ...

  </OBJECTLIST>

  <DATETIME reference="..."> Wert der Eigenschaft </DATETIME>

  <DATETIMELIST reference="...">

    <DATETIME reference="..."> Wert der Eigenschaft </DATETIME>

    ...

  </DATETIMELIST>

  <ENUM reference="..."> Wert der Eigenschaft </ENUM>

  <ENUMLIST reference="...">

    <ENUM reference="..."> Wert der Eigenschaft </ENUM>

    ...

  </ENUMLIST>

  <AGGREGATE reference="..."> Wert der Eigenschaft </AGGREGATE>

  <AGGREGATELIST reference="...">

    <AGGREGATE reference="..."> Wert der Eigenschaft </AGGREGATE>

    ...

  </AGGREGATELIST>

</OBJECT>

Output

Namespace: urn:schemas-fabasoft-com:universal

<response>
  <object> Objektadresse des geänderten/erzeugten Objekts

  </object>

  <result> Ergebnis der SOAP-Aktion </result>

  <failed>

    <attr>

      Referenz der Eigenschaft, die nicht geändert wurde

    </attr>

    ...

  </failed>

</response>

Die Aktion ermittelt das zu ändernde Objekt anhand des XML-Attributs objaddress, das eine Objektadresse enthält. Falls im XML-Attribut create die Referenz einer Objektklasse angegeben ist, wird das zu ändernde Objekt nicht gesucht sondern neu erzeugt.

Anschließend werden die XML-Daten gruppiert nach ihren Fabasoft Folio Typen in die entsprechenden Eigenschaften des Objekts geladen. Über die Referenz der Eigenschaft und den Typ kann eine Eigenschaft eindeutig identifiziert werden.

Die Aktion liefert Informationen über das geänderte Objekt, sowie eine Liste jener Eigenschaften, die nicht geändert werden konnten. Zusätzlich wird der Ergebniswert der Aktion im XML-Element <result> zurückgegeben.

Die Werte der Fabasoft Folio Eigenschaften müssen wie folgt auf die XML-Elemente entsprechend den XML-Schema-Datentypen (XSD) abgebildet werden:

Datentyp

Beschreibung

<BOOLEAN>

Wert einer booleschen Eigenschaft, 0 für FALSE, 1 für TRUE

<BOOLEANLIST>

Liste von booleschen Eigenschaften, wobei jedes Element der Liste in einem <BOOLEAN>-XML-Element ohne reference-Attribut angegeben ist.

<STRING>

Wert einer Zeichenketteneigenschaft, UTF-8-Zeichenkette

<STRINGLIST>

Liste von Zeichenketteneigenschaften, wobei jedes Element der Liste in einem <STRING>-XML-Element ohne reference-Attribut angegeben ist.

<FLOAT>

Wert einer Gleitkommaeigenschaft

<FLOATLIST>

Liste von Gleitkommaeigenschaften, wobei jedes Element der Liste in einem <FLOAT>-XML-Element ohne reference-Attribut angegeben ist.

<INTEGER>

Wert einer ganzzahligen Eigenschaft

<INTEGERLIST>

Liste von ganzzahligen Eigenschaften, wobei jedes Element der Liste in einem <INTEGER>-XML-Element ohne reference-Attribut angegeben ist.

<CONTENT>

Wert einer Eigenschaft für Inhalte, Base64-kodierter Inhalt

<CONTENTLIST>

Liste von Inhaltseigenschaften, wobei jedes Element der Liste in einem <CONTENT>-XML-Element ohne reference-Attribut angegeben ist.

<OBJECT>

Wert einer Objektzeigereigenschaft, Objektadresse

<OBJECTLIST>

Liste von Objektzeigereigenschaften, wobei jedes Element der Liste in einem <OBJECT>-XML-Element ohne reference-Attribut angegeben ist.

<DATETIME>

Wert einer Eigenschaft für Datum/Zeit

<DATETIMELIST>

Liste von Eigenschaften für Datum/Zeit, wobei jedes Element der Liste in einem <DATETIME>-XML-Element ohne reference-Attribut angegeben ist.

<ENUM>

Wert einer Aufzählungseigenschaft, Zahlenwert

<ENUMLIST>

Liste von Aufzählungseigenschaften, wobei jedes Element der Liste in einem <ENUM>-XML-Element ohne reference-Attribut angegeben ist.

<AGGREGATE>

Wert einer zusammengesetzten Eigenschaft, der der rekursiven Natur dieser Eigenschaften entsprechend wieder aus den Elementen <BOOLEAN>, <STRING>, <FLOAT>, <INTEGER>, <CONTENT>, <OBJECT>, <DATETIME>, <ENUM> und <AGGREGATE> bestehen kann.

<AGGREGATELIST>

Liste von zusammengesetzten Eigenschaften, wobei jedes Element der Liste in einem <AGGREGATE>-XML-Element ohne reference-Attribut angegeben ist.

Beispiel:

In der Fabasoft Produktinstallation sollen die Metadaten eines Objekts generisch gesetzt werden. Der XML-Request beinhaltet einen XML-Inhalt und wird als Parameter der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) übergeben. Diese ruft wiederum die SOAP-Aktion Eigenschaften über XML/SOAP setzen (generisch) (FSCBAI@1.1001:SOAPGenericSetProperties) auf.

Beispiel eines Request-XML:

<ns1:OBJECT ns1:objaddress="COO.20.75.4.191"
   xmlns:ns1="urn:schemas-fabasoft-com:universal"

   xmlns:dt="urn:schemas-microsoft-com:datatypes">

  <ns1:STRING ns1:reference=COOSYSTEM@1.1:objname

      dt:dt="string">Das ist ein Test</ns1:STRING>

  <ns1:AGGREGATELIST

      ns1:reference="COOMAPI@1.1:emailinformation">

    <ns1:AGGREGATE>

      <ns1:BOOLEAN ns1:reference=COOMAPI@1.1:emailrtf

        dt:dt="boolean">1</ns1:BOOLEAN>

      <ns1:STRING ns1:reference=COOMAPI@1.1:emailaddress

        dt:dt="string">Das ist ein SOAP-Test</ns1:STRING>

      <ns1:ENUM ns1:reference="COOMAPI@1.1:emailknowntype"

        dt:dt="int">2</ns1:ENUM>

    </ns1:AGGREGATE>

  </n
s1:AGGREGATELIST>
</ns1:OBJECT>

Dieses XML muss als Inhalt in der Fabasoft DUCX Expression der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) übergegeben werden.

::returnval=coort.CreateDictionary();
::xmlcontent=”Obiger Content“;

FSCBAI@1.1001:CallSoapXmlEx(::dept,"GenericSetProperties",::xmlcontent,&::returnval)