Copyright Fabasoft R&D GmbH, A-4020 Linz, 2009. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller. Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet. Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z. B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter. 2
Inhalt 1 Einleitung 4 2 Softwarevoraussetzungen 4 3 Softwarekomponenten 4 4 Objektmodellerweiterungen 4 4.1 Verfügbare Fachanwendungsbereiche 4 5 Funktionsteilbereich Aufruf von Funktionalität der Fabasoft Produktinstallation durch eine Fachanwendung 5 5.1 Lösungsbereich Objekt-Bearbeitung 5 5.1.1 DMS-Dokument erzeugen 5 5.1.2 Eigenschaften von Objekten lesen 6 5.1.3 Eigenschaften von Objekten ändern 7 5.1.4 Neues Objekt erzeugen 8 5.2 Lösungsbereich Bearbeitung von Geschäftsstücken in der Fabasoft egov-suite 10 5.2.1 Ausgangsstück über XML/SOAP erzeugen 10 5.2.2 Akt über XML/SOAP erzeugen 13 5.2.3 Geschäftsstück über XML/SOAP erzeugen 16 5.2.4 Bearbeitungsstatus eines Geschäftsstücks über XML/SOAP abfragen 17 5.2.5 Geschäftsstück via XML/SOAP rückübermitteln 18 5.2.6 Objekte via SOAP/XML registrieren 19 5.2.7 Objekte mit Inhalt via XML/SOAP registrieren/aktualisieren 21 5.2.8 Objekt über XML/SOAP protokollieren 22 5.3 Lösungsbereich Suche 23 5.3.1 Basissuche 23 5.3.2 Erweiterte Suche für Objekte 24 5.4 Generische SOAP-Aktionen 26 5.4.1 Generisches Lesen von Eigenschaften von Objekten 26 5.4.2 Generisches Ändern von Eigenschaften von Objekten 29 5.5 egov-konfiguration 33 5.5.1 Registerkarte Regeln 33 5.5.2 Registerkarte Workflow 33 5.5.3 Registerkarte Inhalte/Text-Dokumente 33 5.5.4 Registerkarte Schemata/Berichte 34 3
1 Einleitung Dieses Dokument beschreibt die Fabasoft egov-suite spezifischen Erweiterungen zu den Schnittstellen der Basiskomponenten. Es sind ausschließlich die Fabasoft egov-suite spezifischen Erweiterungen dokumentiert. 2 Softwarevoraussetzungen Systemumgebung: Die Informationen in diesem Dokument beziehen sich auf eine Microsoft Windows-Systemumgebung und Fabasoft Softwareprodukte der Version 8.0 SP1 Production. Unterstützte Plattformen: Detaillierte Informationen zu unterstützten Betriebssystemen und unterstützter Software finden Sie in der Softwareproduktinformation im Documents -Verzeichnis Ihrer Fabasoft Produkt-DVD. 3 Softwarekomponenten Folgende Softwarekomponenten der Fabasoft egov-suite werden für die Fabasoft egov-suite spezifische Fachanwendungsintegration benötigt: Fabasoft Components/eGov FSCGOVXML@1.1001 E-Government XML Schemas FSCGOVBAI@1.1001 Business Application Integration E- Government Extension Stellt SOAP-Aktionen für ein E-Government-Umfeld zur Verfügung. Der Fachanwendung wird das Erzeugen von Akten über SOAP usw. ermöglicht. Eine Installation dieser Softwarekomponente ist nur erforderlich, wenn entsprechende Funktionalität von der Fachanwendung benötigt wird. Diese Softwarekomponente liefert Einstellungen in der egov-konfiguration und Erweiterungen der Menüs von Akt und Eingangsstück um Fachanwendungen und Fachdokumente. Eine Installation dieser Softwarekomponente ist nur im E-Government-Umfeld erforderlich. 4 Objektmodellerweiterungen 4.1 Verfügbare Fachanwendungsbereiche Wie im White Paper beschrieben erweitert die Softwarekomponente FSCBAI@1.1001 die Objektklassen Aktuelle Domäne, Gruppe und Arbeitsumgebung um die Aggregatsliste Verfügbare Fachanwendungsbereiche (FSCBAI@1.1001:availabledept). Diese Eigenschaft dient dazu, einen Fachanwendungsbereich für den jeweiligen Benutzerkreis verfügbar zu machen. Ebenso erweitert die Softwarekomponente Business Application Integration E-Government Extension (FSCGOVBAI@1.1001) die Objektklassen Geschäftsstück-Typ Komponentenobjekt (COOELAK@1.1001:SubjectComponentObject), Geschäftsstück-Typ (COOELAK@1.1001:Subject) und Sachgebiet (COOELAK@1.1001:SubjectArea) um die Aggregatsliste Verfügbare Fachanwendungsbereiche (FSCGOVBAI@1.1001:availabledept). Diese Eigenschaft dient dazu, einen Fachanwendungsbereich in der jeweiligen Situation für einen Akt bzw. für Geschäftsstücke verfügbar zu machen. Voraussetzung dafür ist, dass der jeweilige Fachanwendungsbereich verfügbar sein muss durch Eintrag in der aktuellen Domäne, der Gruppe bzw. der Arbeitsumgebung. 4
5 Funktionsteilbereich Aufruf von Funktionalität der Fabasoft Produktinstallation durch eine Fachanwendung 5.1 Lösungsbereich Objekt-Bearbeitung 5.1.1 DMS-Dokument erzeugen 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. Dazu stehen folgende SOAP-Aktionen zur Verfügung: Inhaltsobjekt erzeugen und konvertieren Erzeugen von Inhaltsobjekten via SOAP (Informationen zu dieser Aktion finden Sie im White Paper ) Inhaltsobjekt erzeugen und konvertieren (FSCVGOV@1.1001:CreateContentObjectAndConvert) Diese Aktion erstellt ein Objekt mit Inhalt der angegebenen Objektklasse in der Fabasoft Produktinstallation. Darüber hinaus kann dieses neue Objekt auch direkt in das finale Format konvertiert werden. Für diese Aktion muss ein Konvertierungsserver in der Fabasoft Produktumgebung konfiguriert sein. 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> <finalform> Erweiterung konvertierter Inhalt </finalform> </createcontentobjects> Output Namespace: urn:schemas-fabasoft-com:ows:createcontentobjects <createcontentobjectsresult> <objectlist> Objektadressen der erzeugten Objekte </objectlist> </createcontentobjectsresult> Der Inhalt, der in die Fabasoft Produktinstallation übertragen werden soll, muss von der Fachanwendung Base64-kodiert und anschließend in den XML-Knoten <contentlist> eingefügt 5
werden. Weiters muss im XML-Knoten <sourceextension> die Dateiendung eingetragen werden, damit die Fabasoft Produktinstallation erkennt, welche Drittapplikation beim Öffnen des Objekts angesprochen werden soll. Zusätzlich kann die Dateiendung des finalen Formats definiert werden. Hier ist darauf zu achten, dass eine Konvertierung von der Dateiendung zum angegebenen finalen Format im Fabasoft Components Konvertierungsservice implementiert ist. Beispiel: In der Fabasoft Produktinstallation soll ein neues Word-Objekt erstellt und der Inhalt in PDF konvertiert werden. Der XML-Request wird mithilfe einer Fabasoft Components Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Inhaltsobjekt erzeugen und konvertieren (FSCVGOV@1.1001:CreateContentObjectAndConvert) übermittelt. ::params=coort.createdictionary(); ::returnval=coort.createdictionary(); ::contentlist=coort.createdictionary(); ::params.setentryvalue("objectclass",0,"coo.1.1.1.1264"); ::contentlist.setentryvalue("content",0,base64-content); ::params.setentryvalue("contentlist",0,::contentlist); ::params.setentryvalue("sourceextension",0,"doc"); ::params.setentryvalue("finalform",0,"pdf"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateContentObjectsAndConvert",::params,::ret urnval); Die Adresse der Objektklasse Word-Objekt (COOMSOFFICE@1.1:WinWordObject) wird in den XML- Knoten <objectclass> geschrieben. Der Inhalt des Objekts muss ein Base64-kodierter Inhalt sein. 5.1.2 Eigenschaften von Objekten lesen Die SOAP-Aktion Eigenschaften über XML/SOAP lesen (FSCGOVXML@1.1001:SOAPGetProperties) bietet die Möglichkeit, Eigenschaften eines Objekts auszulesen. Input Namespace: urn:schemas-fabasoft-com:gov:getset <object> Objektadresse des Objekts </object> Output Namespace: urn:schemas-fabasoft-com:gov:getset <getresponse> <any/> </getresponse> Die Aktion ermittelt das durch die Objektadresse im Element <object> angegebene Objekt und wendet eine XML-Abbildung auf dieses Objekt an. Die XML-Abbildung wird aus der Aggregatsliste Schematazuordnung in der egov-konfiguration mit den Auslösern 6
FSCGOVXML@1.1001:SOAPGetProperties und der Objektklasse des Objekts ermittelt. Über den URL-Parameter mapping kann die Einstellung in der egov-konfiguration übersteuert werden. Die Aktion FSCGOVXML@1.1001:SOAPGetProperties liefert das Ergebnis der XML-Abbildung zurück. Beispiel: Anhand einer in der egov-konfiguration eingetragen XML-Abbildung sollen Metadaten eines Objekts gelesen werden. Der XML-Request wird mithilfe einer Fabasoft Components 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 (FSCGOVXMLF@1.1001:SOAPGetProperties) übermittelt. ::params=coort.createdictionary(); ::xmlcontent=coort.createcontent(); ::params.setentryvalue("object",0,"objektadresse"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"GetProperties",::params,&::xmlcontent) 5.1.3 Eigenschaften von Objekten ändern Die SOAP-Aktion Eigenschaften über XML/SOAP ändern (FSCGOVXML@1.1001:SOAPSetProperties) bietet die Möglichkeit, Eigenschaften eines Objekts mithilfe einer XML-Abbildung zu ändern. Input Namespace: urn:schemas-fabasoft-com:gov:getset <update batchmode=[0 1]> <objaddress> Objektadresse des zu ändernden Objekts </objaddress> <any> XML mit geänderten Eigenschaften </any> </update> Output Namespace: urn:schemas-fabasoft-com:gov:getset <setresponse> <loaded> <objaddr> Objektadresse des geänderten Objekts </objaddr> <objname> Objektname des geänderten Objekts </objname> </loaded> <changed> <object> <objaddr> Objektadresse des geänderten Objekts 7
</objaddr> <objname> Objektname des geänderten Objekts </objname> </object> </changed> </setresponse> Die Aktion ermittelt das durch die Objektadresse im Element <objaddress> angegebene Objekt und wendet eine XML-Abbildung auf dieses Objekt an. Die XML-Abbildung wird aus der Aggregatsliste Schematazuordnung in der egov-konfiguration mit den Auslösern Eigenschaften über XML/SOAP ändern (FSCGOVXML@1.1001:SOAPSetProperties) und der Objektklasse des Objekts ermittelt. Über den URL-Parameter mapping kann die Einstellung in der egov-konfiguration übersteuert werden. Die unter <any> angegebenen XML-Daten werden mithilfe der XML-Abbildung in das Objekt geladen. Zurückgeliefert werden Informationen über das geladene Objekt und die zusätzlich geänderten Objekte. Beispiel: Anhand einer in der egov-konfiguration eingetragen XML-Abbildung sollen Metadaten eines Objekts geschrieben werden. Der XML-Request wird mithilfe einer Fabasoft Components 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 ändern (FSCGOVXMLF@1.1001:SOAPSetProperties) übermittelt. ::params.setentryvalue("objaddress",0,this.objaddress); ::word.setentryvalue("filesubj",0,"das ist ein SOAP-Test"); ::word.setentryvalue("objname",0,"das ist ein SOAP-Test"); ::params.setentryvalue("winwordobject",0,::word); ::params.setentryvalue("winwordobject namespace",0,"urn:schemas.fabasoft.com:winw ordobject"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"SetProperties",::params,&::returnval) Der Teilbaum, der im <any>-block des Request-XML angegeben ist, muss den Namespace zugewiesen haben, der auch vom gewünschten XML-Schema zum Auflösen des Requests verwendet wird. Mithilfe eines Dictionaries können Namespaces für einzelne XML-Knoten definiert werden. Eine Definition der XML-Namespaces kann durch die Fabasoft Components Expression ::params.setentryvalue("winwordobject namespace",0,"urn:schemas.fabasoft.com:winw ordobject"); durchgeführt werden. 5.1.4 Neues Objekt erzeugen Die SOAP-Aktion Objekt über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateObject) bietet die Möglichkeit, ein neues Objekt zu erzeugen. Input Namespace: urn:schemas-fabasoft-com:gov:getset <create> <info> 8
<objclass> Referenz der Objektklasse </objclass> <coostdom> COO-Store, in dem das Objekt erzeugt wird </coostdom> <address> Objektadresse für das zu erzeugende Objekt </address> <objname> Name des Objekts </objname> <resultmapping> Objektadresse der XML-Abbildung für die Aufbereitung des Ergebnisses </resultmapping> </info> <any> Initialisierungsdaten </any> </create> Output Namespace: urn:schemas-fabasoft-com:gov:getset <createresponse> <objaddress> Objektadresse des erzeugten Objekts </objaddress> <objname> Objektname des erzeugten Objekts </objname> <mappedcontent> XML, das durch die angegebene XML-Abbildung erstellt wurde </mappedcontent> </createresponse> 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 angegeben sind (anstelle des <any>-blocks), so werden diese durch eine XML-Abbildung in das neu erzeugte Objekt geladen. Die XML-Abbildung wird aus der Aggregatsliste Schematazuordnung in der egov-konfiguration mit den Auslösern Objekt über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateObject) und der Objektklasse des Objekts ermittelt. Über den URL-Parameter mapping kann die Einstellung in der egov-konfiguration übersteuert werden. Die Aktion liefert als Ergebnis ein XML-Dokument, das die Objektadresse und den Objektnamen des erzeugten Objekts enthält. Zusätzlich kann im Response-XML im Knoten <mappedcontent> ein XML-Inhalt hinterlegt werden. Dieser XML-Inhalt wird durch die im Knoten <resultmapping> angegebene XML-Abbildung aufbereitet. Beispiel: Anhand einer in der egov-konfiguration eingetragen XML-Abbildung soll ein neues Objekt erstellt und mit Metadaten initialisiert werden. Zusätzlich soll das Ergebnis mit einer XML-Abbildung aufbereitet werden. Der XML-Request wird mithilfe einer Fabasoft Components 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 (FSCGOVXMLF@1.1001:SOAPCreateObject) übermittelt. ::params=coort.createdictionary(); ::info=coort.createdictionary(); ::returnval=coort.createcontent(); ::objectattr=coort.createdictionary(); 9
::objectattr.setentryvalue("objname",0,"das ist ein Test"); ::info.setentryvalue("objclass",0,"coodesk@1.1:folder"); ::info.setentryvalue("resultmapping",0,"coo.10.531.1.100547"); ::params.setentryvalue("info",0,::info); ::params.setentryvalue("folder",0,::objectattr); ::params.setentryvalue("folder namespace",0,"urn:schemas.fabasoft.com:folder"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateObject",::params,&::returnval); 5.2 Lösungsbereich Bearbeitung von Geschäftsstücken in der Fabasoft egov-suite In der Softwarekomponente E-Government XML Schemas (FSCGOVXML@1.1001) sind mehrere SOAP-Aktionen enthalten, die eine Bearbeitung und Erstellung von Geschäftsstücken in der Fabasoft Produktinstallation durch eine Fachanwendung zulassen. Manche SOAP-Aktionen verlangen bestimmte Einstellungen in der egov-konfiguration. Folgende SOAP-Aktionen stehen standardmäßig zur Verfügung: Ausgangsstück über XML/SOAP erzeugen Akt über XML/SOAP erzeugen Geschäftsstück über XML/SOAP erzeugen Bearbeitungsstatus eines Geschäftsstücks über XML/SOAP abfragen Geschäftsstück via XML/SOAP rückübermitteln Objekte via XML/SOAP registrieren Objekte mit Inhalt via XML/SOAP registrieren/aktualisieren Objekt über XML/SOAP protokollieren 5.2.1 Ausgangsstück über XML/SOAP erzeugen Die SOAP-Aktion Ausgangsstück über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateOutgoing) steht zur Verfügung um ein Ausgangsstück zu erzeugen. Anhand eines allgemeinen XML-Schemas können Ausgangsstücke in die Fabasoft egov- Suite erstellt und direkt zu einem Akt hinzugefügt werden. Darüber hinaus kann ein Inhaltsobjekt übergeben werden, das in diesem Ausgangsstück hinterlegt wird. Weitere Metadaten können anhand des Schemas übermittelt werden. Input Namespace: urn:schemas-fabasoft-com:gov:createoutgoing <request> <doc-id> <id-name> Name des Ausgangsstücks </id-name> </doc-id> <doc-type> <id-ref> Objektadresse der Objektklasse des Ausgangsstücks </id-ref> </doc-type> 10
<addressees> Adressaten <addressee-id> Objektadresse des Empfängers </addressee-id> <addressee-name> Name des Empfängers </addressee-name> <addressee-org> Empfängerorganisation </addressee-org> <addressee-address> Empfängeradresse </addressee-address> <addressee-contact> E-Mail-Adresse des Empfängers </addressee-contact> <addrtransmedia> Versandart </addrtransmedia> </addressees> <content> Inhaltsdokumente <docname> Name des Inhaltsdokuments </docname> <docid> ID des Inhaltsdokuments </docid> <docclass> Objektklasse </docclass> <docext> Erweiterung Originalinhalt </docext> <finalform> Erweiterung Finales Format </finalform> <doccont> Base64-kodierter Inhalt </doccont> </content> <referrednr> "Gehört zu" welchem Akt </referrednr> </request> Output Namespace: urn:schemas-fabasoft-com:gov:createoutgoing <response> <resultstring> Ergebnis der SOAP-Aktion </resultstring> <object> Name des erstellten Ausgangsstücks </object> <objaddress> Adresse des erstellten Ausgangsstücks </objaddress> </response> Die XML-Abbildung und das Schema für die Aktion FSCGOVXML@1.1001:SOAPCreateOutgoing wird aus der Aggregatsliste Datenstrom-Definitionen in der egov-konfiguration ermittelt. Das bedeutet, dass je nach Zielobjektklasse eine andere XML-Zuordnung verwendet werden kann. Diese Differenzierung wird durch die Verwendung eines XPath-Ausdrucks in der Datenstrom-Definition der egov-konfiguration erreicht. Beispiel: In der Fabasoft egov-suite soll eine Erledigung erstellt und einem Akt zugewiesen werden. Der XML-Request wird mithilfe einer Fabasoft Components Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP-Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Ausgangsstück über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateOutgoing) übermittelt. ::params=coort.createdictionary(); ::returnval=coort.createdictionary(); 11
::docid=coort.createdictionary(); ::doctype=coort.createdictionary(); ::addressees=coort.createdictionary(); ::addressee=coort.createdictionary(); ::addresseename=coort.createdictionary(); ::addresseeaddress=coort.createdictionary(); ::contentdict=coort.createdictionary(); ::docid.setentryvalue("id-name",0,"test"); ::doctype.setentryvalue("id-ref",0,"coo.1.1.1.1264"); ::addresseename.setentryvalue("addr-display-name",0,"max Muster"); ::addresseename.setentryvalue("addr-firstname",0,"max"); ::addresseename.setentryvalue("addr-surname",0,"muster"); ::addressee.setentryvalue("addressee-name",0,::addresseename); ::addressee.setentryvalue("addrtransmedia",0,"450"); ::addressees.setentryvalue("addressee",0,::addressee); ::contentdict.setentryvalue("docname",0,"test"); ::contentdict.setentryvalue("docclass",0,"coo.1.1.1.1270"); ::contentdict.setentryvalue("docext",0,"txt"); ::contentdict.setentryvalue("doccont",0,"base 64 Content"); ::contentdict.setentryvalue("finalform",0,"pdf"); ::params.setentryvalue("doc-id",0,::docid); ::params.setentryvalue("doc-type",0,::doctype); ::params.setentryvalue("addressees",0,::addressees); ::params.setentryvalue("content",0,::contentdict); ::params.setentryvalue("referrednr",0,"adresse des Akts"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateOutgoing",::params,&::returnval) Dieser XML-Request erzeugt ein XML und schickt es an die betreffende SOAP-Aktion. Im XML- Response werden die Adresse und der Name des neuen Ausgangsstücks zurückgegeben. Ein Eintrag in der egov-konfiguration, der über die Datenstromdefinition ein neues Ausgangsstück erstellt, könnte so aussehen: Auslöser Softwarekomponente Auswahl mit Namespaces FSCGOVXML@1.1001:SOAPCreateOutgoing Lokale Softwarekomponente XPath In dieser Eigenschaft muss der XML-Namespace des Request-XML eingetragen werden. Das Namespace-Präfix muss in der Eigenschaft XPath-Ausdruck verwendet werden. Beispiel: Namespace-Präfix Namespace-URI ns1 urn:schemas-fabasoft-com:gov:createoutgoing 12
XPath-Ausdruck Objektklasse Transformation Element-Abbildung //ns1:request/ns1:doc-type/ns1:idref[text()= COO.1.1001.1.13165 ], COOELAK@1.1001:Outgoing XML-Abbildung FSCGOVXML@1.1001:CreateOutgoingMapping Die Eigenschaft XPath-Ausdruck wird verwendet, um pro Auslöser mehrere XML-Zuordnungen verwenden zu können. In diesem Fall wird geprüft, ob der Eintrag //ns1:request/ns1:doctype/ns1:id-ref den Wert COO.1.1001.1.13165 hat. Trifft das zu, wird die eingetragene XML- Abbildung verwendet. 5.2.2 Akt über XML/SOAP erzeugen Die SOAP-Aktion Akt über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateFile) steht zur Verfügung um einen Akt zu erzeugen. Anhand eines allgemeinen XML-Schemas können Akten in der Fabasoft Produktinstallation erstellt werden. Input Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <GovDocument> <doc-id> Verwendung durch Mapping definiert </doc-id> <doc-type> Objektklasse des Akts </doc-type> <org-id> Elektronische Organisationseinheit </org-id> <doc-originator> Aktueller Benutzer </doc-originator> <doc-recipient> Adressaten </doc-recipient> <doc-external-ref> Verwendung durch Mapping definiert </doc-external-ref> <doc-external-date> Zustell-/Eingangsdatum </doc-external-date> <doc-subject> Betreff/Ergänzungen </doc-subject> 13
<doc-attachments> Aktdokumentation und Beilagen </doc-attachments> <doc-process> Prozessaktivitäten </doc-process> <doc-return> Verwendung durch XML-Abbildung definiert </doc-return> <doc-businessappdata> Fachdaten </doc-businessappdata> <doc-resultmapping> Objektadresse der XML-Abbildung </doc-resultmapping> </GovDocument> Output Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <response> <resultstring> Ergebnis der SOAP-Aktion </resultstring> <object> Name des erstellten Ausgangsstücks </object> <objaddress> Objektadresse des erstellten Ausgangsstücks </objaddress> <mappedcontent> XML vom neuen Akt durch resultmapping </mappedcontent> </response> Die XML-Abbildung und das Schema für die Aktion FSCGOVXML@1.1001:SOAPCreateFile wird aus der Aggregatsliste Datenstrom-Definitionen in der egov-konfiguration ermittelt. Das bedeutet, dass je nach Zielobjektklasse eine andere XML-Zuordnung verwendet werden kann. Diese Differenzierung wird durch die Verwendung eines XPath-Ausdrucks in der Datenstrom-Definition der egov-konfiguration erreicht. Beispiel: In der Fabasoft Produktinstallation soll ein Akt erstellt werden. Der XML-Request wird mithilfe einer Fabasoft Components Expression erstellt und unter Verwendung der Aktion Aufrufen einer SOAP- Aktion mit verschiedenen Parametern über Fachanwendungsbereich (FSCBAI@1.1001:CallSoapXmlEx) an die SOAP-Aktion Akt über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateFile) übermittelt. ::params=coort.createdictionary(); ::returnval=coort.createcontent(); ::doctypeid=coort.createdictionary(); ::docorig=coort.createdictionary(); ::address1=coort.createdictionary(); 14
::docrecipient=coort.createdictionary(); ::docrecipientrec=coort.createdictionary(); ::docrecipientcontact=coort.createdictionary(); ::doctypeid.setentryvalue("id-name",0,"sachakt"); ::doctypeid.setentryvalue("id-ref",0,"coo.1.1001.1.4366"); ::docorig.setentryvalue("addressee-id",0,coort.getcurrentuser().objaddress); ::docorig.setentryvalue("addressee-org",0,::organisation); ::address1.setentryvalue("addr-street",0,"mustergasse"); ::docorig.setentryvalue("addressee-address",0,::address1); ::docrecipientrec.setentryvalue("addresseeid",0,coort.getcurrentuser().objaddress); ::docrecipient.setentryvalue("doc-recipient-recipient",0,::docrecipientrec); ::params.setentryvalue("doc-type",0,::doctypeid); ::params.setentryvalue("doc-originator",0,::docorig); ::params.setentryvalue("doc-recipient",0,::docrecipient); ::params.setentryvalue("doc-external-ref",0,this.objaddress); ::params.setentryvalue("doc-external-date",0,coort.getcurrentdatetime(this)); ::params.setentryvalue("doc-subject",0,"das ist ein Test"); ::params.setentryvalue("doc-resultmapping",0,"coo.1.1001.1.58829"); FSCBAI@1.1001:CallSoapXmlEx(::dept,"CreateFile",::params,&::returnval) Die Erstellung eines Akts ist vergleichbar mit der Erstellung eines Ausgangstücks. Zusätzlich muss beachtet werden, dass im Response-XML eine Abbildung vom neu erstellten Akt zurückgegeben wird. Damit diese Abbildung korrekt zurückgegeben wird, muss ein Eintrag in der egov- Konfiguration in der Eigenschaft XPath-Ausdrücke für Operationen vorgenommen werden. Auslöser Verwendung Softwarekomponente Auswahl mit Namespaces XPath-Ausdruck FSCGOVXML@1.1001:SOAPCreateFile CreateFile-Resultmapping Lokale Softwarekomponente XPath Die XML-Namespaces müssen auf die XML-Namespaces des XML- Requests abgestimmt werden. Beispiel: Namespace-Präfix ns1 Namespace-URI urn:schemas-fabasoftcom:gov:ediakt:interchange //ns1:govdocument/ns1:doc-resultmapping Dieser Eintrag ist wichtig, damit das System den Pfad zum XML-Knoten <doc-result-mapping> findet. 15
5.2.3 Geschäftsstück über XML/SOAP erzeugen Die SOAP-Aktion Geschäftsstück über XML/SOAP erzeugen (FSCGOVXML@1.1001:SOAPCreateSubFile) steht zur Verfügung um ein Geschäftsstück zu erzeugen. Welche Art von Geschäftsstück erzeugt wird, hängt von den Einstellungen in der egov-konfiguration ab. Input Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <GovDocument> <doc-id> Verwendung durch XML-Abbildung definiert </doc-id> <doc-type> Objektklasse des Akts </doc-type> <org-id> Elektronische Organisationseinheit </org-id> <doc-originator> Aktueller Benutzer </doc-originator> <doc-recipient> Adressaten </doc-recipient> <doc-external-ref> Verwendung durch XML-Abbildung definiert </doc-external-ref> <doc-external-date> Zustell-/Eingangsdatum </doc-external-date> <doc-subject> Betreff/Ergänzungen </doc-subject> <doc-attachments> Aktdokumentation und Beilagen </doc-attachments> <doc-process> Prozessaktivitäten </doc-process> <doc-return> Verwendung durch XML-Abbildung definiert </doc-return> 16
<doc-businessappdata> Fachdaten </doc-businessappdata> <doc-resultmapping> Objektadresse der XML-Abbildung </doc-resultmapping> </GovDocument> Output Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <response> <resultstring> Ergebnis der SOAP-Aktion </resultstring> <object> Name des erstellten Geschäftsstücks </object> <objaddress> Objektadresse des erstellten Geschäftsstücks </objaddress> </response> Das Verhalten dieser Aktion ist vergleichbar mit der Aktion FSCGOVXML@1.1001:SOAPCreateFile (nähere Informationen dazu siehe Kapitel 5.2.2 Akt über XML/SOAP erzeugen ). Abhängig von den Einstellungen in der egov-konfiguration wird ein Geschäftsstück erzeugt. Zusätzlich werden alle Dokumente, die als Beilagen im XML-Dokument mitgeliefert werden, rekonstruiert und dem Geschäftsstück als Beilagen hinzugefügt. 5.2.4 Bearbeitungsstatus eines Geschäftsstücks über XML/SOAP abfragen Die SOAP-Aktion Bearbeitungsstatus eines Geschäftsstücks über XML/SOAP abfragen (FSCGOVXML@1.1001:SOAPGetSubFileStatus) bietet die Möglichkeit, Statusinformationen über ein Geschäftsstück abzufragen. Input Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <object> Objektadresse des Geschäftsstücks </object> Output Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <statusresponse> <object> Adresse des Geschäftsstücks </object> <doc-process> <doc-proc-item> <proc-item-name> Name der Aktivität </proc-item-name> <proc-item-recipient> Name des Workflow-Teilnehmers </proc-item-recipient> <proc-item-received> Datum, wann der Workflow-Teilnehmer die Aktivität erhalten hat </proc-item-received> 17
<proc-item-completed> Datum, wann der Workflow-Teilnehmer die Aktivität abgeschlossen hat </proc-item-completed> <proc-item-deadline> Datum, bis wann der Workflow-Teilnehmer die Aktivität erledigen muss </proc-item-deadline> </doc-proc-item> </doc-process> </statusresponse> Diese Aktion liefert zu einem Geschäftsstück, das über die Objektadresse angegeben wird, aktuelle Informationen über den Leitweg des Geschäftsstücks. 5.2.5 Geschäftsstück via XML/SOAP rückübermitteln Die SOAP-Aktion Geschäftsstück via XML/SOAP rückübermitteln (FSCGOVXML@1.1001:SOAPReturnSubFile) liefert Daten eines Geschäftsstücks entsprechend dem angegebenen XML-Schema in Form eines XML-Dokuments. Input Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <object> Objektadresse des Geschäftsstücks </object> Output Namespace: urn:schemas-fabasoft-com:gov:ediakt:interchange <GovDocument> <doc-id> Verwendung durch XML-Abbildung definiert </doc-id> <doc-type> Objektklasse des Akts </doc-type> <org-id> Elektronische Organisationseinheit </org-id> <doc-originator> Aktueller Benutzer </doc-originator> <doc-recipient> Adressaten </doc-recipient> 18
<doc-external-ref> Verwendung durch XML-Abbildung definiert </doc-external-ref> <doc-external-date> Zustell-/Eingangsdatum </doc-external-date> <doc-subject> Betreff/Ergänzungen </doc-subject> <doc-attachments> Aktdokumentation und Beilagen </doc-attachments> <doc-process> Prozessaktivitäten </doc-process> <doc-return> Verwendung durch XML-Abbildung definiert </doc-return> <doc-businessappdata> Fachdaten </doc-businessappdata> <doc-resultmapping> Objektadresse der XML-Abbildung </doc-resultmapping> </GovDocument> Diese Aktion bildet ein Geschäftsstück entsprechend dem angegebenen XML-Schema in einem XML-Dokument ab. 5.2.6 Objekte via SOAP/XML registrieren Die SOAP-Aktion Objekte via SOAP/XML registrieren (FSCGOVXML@1.1001:SOAPCaptureObjects) bietet die Möglichkeit, mehrere Objekte zu einem bestehenden Geschäftsstück zu registrieren. Die Erstellung der neuen Inhaltsobjekte läuft konfigurationsgesteuert über die egov-konfiguration. Input Namespace: urn:schemas-fabasoft-com:gov:capture <capture> <subfile> <class> Objektklasse des Geschäftsstücks </class> <attribute> <reference> Referenz der Eigenschaft </reference> <value> Wert der Eigenschaft </value> </attribute> </subfile> <object> 19