2. evenos Consulting GmbH 2
Inhalt
Was sind Webservices?
Webservices in iDempiere aktivieren
ModelADService
CompositeInterface
Webservices erstellen
Webservices testen/benutzen
Konzepte zur Nutzung von Webservices in iDempiere
3. evenos Consulting GmbH 3
Was sind Webservices?
Ein Webservice oder Webdienst ist eine Softwareanwendung,
die über ein Netzwerk für die direkte Maschine-zu-Maschine-
Interaktion bereitgestellt wird
4. evenos Consulting GmbH 4
Webservices in iDempiere aktivieren
Die Webservice in iDempiere sollten standardmäßig aktiviert sein. In älteren Versionen kann
jedoch eine nachträgliche Aktivierung erforderlich sein. Dies kann auf zwei Arten erfolgen
Felix Web Console (
– http://server:8080/osgi/system/console/bundles
– Bundle suchen
– Bundle starten
OSGi Console
– ss für Liste der Bundles
– Bundle in Liste finden
– start <Bundle-Nr>
5. evenos Consulting GmbH 5
ModelADService
Generischer Webservice mit verschiedenen Funktionen
– setDocAction
• Den Status eines Dokuments ändern
• Workflows werden nicht ausgeführt!
– RunProcess
• Einen Prozess starten
• Prozess kann Dokument Workflow sein
– GetList
• Liste der Einträge einer Referenz (Table oder List)
– CreateData
• Datensätze anlegen
– UpdateData
• Datensätze updaten
– DeleteData
• Datensätze löschen
– ReadData
• Einzelnen Datensatz anhand der RecordID auslesen
– QueryData
• Datensätze anhand von Input-Feldern oder Filter finden
Es wird immer nur genau ein Aufruf ausgeführt
Validatorn und Model-Hooks bei createData, updateData und deleteData
6. evenos Consulting GmbH 6
CompositeInterface
Zusammenfassen mehrerer ModelADService-Aufrufe in einem einzigen CompositeInterface-Aufruf
Liste der Aufrufe = operations
Einzelner Aufruf = operation
Jede Operation hat ein pre- und postCommit Tag
Jede Operation hat einen TargetPort
– createData
– readData
– updateData
– deleteData
– runProcess
– setDocAction
– createUpdateData
createData, readData, updateData, deleteData und createUpdateData benötigen <ModelCRUD>
setDocAction benötigt <ModelSetDocAction>
runProcess benötigt <ModelRunProcess>
Nicht jeder ModelADService-Aufruf funktioniert
7. evenos Consulting GmbH 7
Webservices erstellen
Hilfe unter http://www.adempiere.com/Adempiere_Web_Services
Fenster: Web Service Security
Kopfdaten
– Search Key → serviceType
– Web Service → ModelADService oder CompositeInterface
– Web Service Method → Gewünschte Methode (create-, read- und queryData, runProcess, etc.)
– Table → Optionale Tabelle des Webservices, wichtig wenn Felder ein- bzw. zurückgegeben werden sollen
Web Service Parameters
– Je nach Webservice unterschiedlich
– Typische Parameter:
• tableName/TableName
• recordID/RecordID
• filter/Filter
• action/Action
Web Service Access
– Rollen, die diesen Webservice nutzen dürfen
8. evenos Consulting GmbH 8
Webservices erstellen
Die folgenden Tabs sind nur sichtbar, wenn in den Kopfdaten eine Tabelle ausgewählt wurde
Web Service Field Input
– Hier werden Felder definiert, die per Aufruf übergeben werden (z. B. Name und Suchschlüssel bei
createData)
– Spaltenname (kann aus allen Spalten der Tabelle ausgesucht werden oder Freitext)
– Referenz der Spalte (String, Integer, Date, etc.)
– Identifier (?)
– Allow Null Value (?)
– Identifier Logic (?)
Web Service Field Output
– Hier werden Felder definiert, die der Webservice zurück gibt
– Spaltenname (kann aus allen Spalten der Tabelle ausgesucht werden oder Freitext)
9. evenos Consulting GmbH 9
iDempiere Webservices nutzen das SOAP-Protokoll
Tool zum Testen: SoapUI (http://www.soapui.org)
Übersicht der Endpunkte unter http://myserver/ADInterface/services
ModelADService Endpunkt: http://myserver/ADInterface/services/ModelADService?wsdl
CompositeInterface Endpunkt: http://myserver/ADInterface/services/compositeInterface?wsdl
Webservices testen/benutzen
14. evenos Consulting GmbH 14
Konzepte zur Nutzung von Webservices in iDempiere
Daten direkt anlegen (ggf. mehrere Calls)
– Fehler bei unterbrochener Übertragung (bei mehreren Calls)
– Geeignet um einzelne Einträge zu erstellen/ändern/löschen
Daten direkt mittels Composite Webservice anlegen
– Kein Fehler bei unterbrochener Übertragung
– Geeignet um verschachtelte Einträge (z. B. Geschäftspartner) zu erstellen/ändern/löschen
Daten in Importtabelle schreiben
– Einfaches Anlegen von Datensätzen
– Ermöglicht Batch-Verarbeitung
– Importprozess kann über Webservice, Scheduler oder manuell gestartet werden
15. evenos Consulting GmbH 15
Danke für eure Aufmerksamkeit
Noch Fragen? Schick mir eine Mail an jan.thielemann@evenos.de