evenos Consulting GmbH 1
Webservices in iDempiere
Jan Thielemann
evenos Consulting GmbH 2
Inhalt
 Was sind Webservices?
 Webservices in iDempiere aktivieren
 ModelADService
 Composite...
evenos Consulting GmbH 3
Was sind Webservices?
Ein Webservice oder Webdienst ist eine Softwareanwendung,
die über ein Netz...
evenos Consulting GmbH 4
Webservices in iDempiere aktivieren
Die Webservice in iDempiere sollten standardmäßig aktiviert s...
evenos Consulting GmbH 5
ModelADService
 Generischer Webservice mit verschiedenen Funktionen
– setDocAction
• Den Status ...
evenos Consulting GmbH 6
CompositeInterface
Zusammenfassen mehrerer ModelADService-Aufrufe in einem einzigen CompositeInt...
evenos Consulting GmbH 7
Webservices erstellen
Hilfe unter http://www.adempiere.com/Adempiere_Web_Services
Fenster: Web ...
evenos Consulting GmbH 8
Webservices erstellen
Die folgenden Tabs sind nur sichtbar, wenn in den Kopfdaten eine Tabelle a...
evenos Consulting GmbH 9
iDempiere Webservices nutzen das SOAP-Protokoll
Tool zum Testen: SoapUI (http://www.soapui.org)...
evenos Consulting GmbH 10
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:_0="http://ide...
evenos Consulting GmbH 11
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:_0="http://ide...
evenos Consulting GmbH 12
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://ide...
evenos Consulting GmbH 13
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://ide...
evenos Consulting GmbH 14
Konzepte zur Nutzung von Webservices in iDempiere
 Daten direkt anlegen (ggf. mehrere Calls)
– ...
evenos Consulting GmbH 15
Danke für eure Aufmerksamkeit
Noch Fragen? Schick mir eine Mail an jan.thielemann@evenos.de
Nächste SlideShare
Wird geladen in …5
×

Präsentation webservices

371 Aufrufe

Veröffentlicht am

Webservices Vortrag. Gehalten auf dem deutschen iDempiere Community Treffen

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
371
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Präsentation webservices

  1. 1. evenos Consulting GmbH 1 Webservices in iDempiere Jan Thielemann
  2. 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. 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. 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. 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. 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. 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. 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. 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
  10. 10. evenos Consulting GmbH 10 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0"> <soapenv:Header/> <soapenv:Body> <_0:setDocAction> <_0:ModelSetDocActionRequest> <_0:ModelSetDocAction> <_0:serviceType>iDempiereDocAction</_0:serviceType> <_0:tableName>C_Order</_0:tableName> <_0:recordID>1000000</_0:recordID> <_0:docAction>VO</_0:docAction> </_0:ModelSetDocAction> <_0:ADLoginRequest> <_0:user>WebService</_0:user> <_0:pass>MYPASSWORD</_0:pass> <_0:lang>191</_0:lang> <_0:ClientID>11</_0:ClientID> <_0:RoleID>50004</_0:RoleID> <_0:OrgID>11</_0:OrgID> <_0:WarehouseID>103</_0:WarehouseID> <_0:stage>0</_0:stage> </_0:ADLoginRequest> </_0:ModelSetDocActionRequest> </_0:setDocAction> </soapenv:Body> </soapenv:Envelope> Webservices testen/benutzen Document Action
  11. 11. evenos Consulting GmbH 11 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0"> <soapenv:Header/> <soapenv:Body> <_0:getList> <_0:ModelGetListRequest> <_0:ModelGetList> <_0:serviceType>iDempiereGetList</_0:serviceType> <_0:AD_Reference_ID>148</_0:AD_Reference_ID> <_0:Filter>Name like 'Prepay%'</_0:Filter> </_0:ModelGetList> <_0:ADLoginRequest> <_0:user>WebService</_0:user> <_0:pass>MYPASSWORD</_0:pass> <_0:lang>191</_0:lang> <_0:ClientID>11</_0:ClientID> <_0:RoleID>50004</_0:RoleID> <_0:OrgID>11</_0:OrgID> <_0:WarehouseID>103</_0:WarehouseID> <_0:stage>0</_0:stage> </_0:ADLoginRequest> </_0:ModelGetListRequest> </_0:getList> </soapenv:Body> </soapenv:Envelope> Webservices testen/benutzen Referenz-Liste
  12. 12. evenos Consulting GmbH 12 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0"> <soapenv:Header/> <soapenv:Body> <_0:queryData> <_0:ModelCRUDRequest> <_0:ModelCRUD> <_0:serviceType>iDempiereQueryData</_0:serviceType> <_0:TableName>M_Product</_0:TableName> <_0:RecordID>0</_0:RecordID> <_0:Filter>name like 'Aza%'</_0:Filter> <_0:Action>Read</_0:Action> </_0:ModelCRUD> <_0:ADLoginRequest> <_0:user>WebService</_0:user> <_0:pass>MYPASSWORD</_0:pass> <_0:lang>191</_0:lang> <_0:ClientID>11</_0:ClientID> <_0:RoleID>50004</_0:RoleID> <_0:OrgID>11</_0:OrgID> <_0:WarehouseID>103</_0:WarehouseID> <_0:stage>0</_0:stage> </_0:ADLoginRequest> </_0:ModelCRUDRequest> </_0:queryData> </soapenv:Body> </soapenv:Envelope> Webservices testen/benutzen Daten Abfragen
  13. 13. evenos Consulting GmbH 13 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0"> <soapenv:Header/> <soapenv:Body> <_0:queryData> <_0:ModelCRUDRequest> <_0:ModelCRUD> <_0:serviceType>iDempiereQueryData</_0:serviceType> <_0:TableName>M_Product</_0:TableName> <_0:RecordID>0</_0:RecordID> <_0:Action>Read</_0:Action> <_0:DataRow> <_0:field column="Name" > <_0:val>Assembly Area</_0:val> <!--Hier muss der exakte Name stehen, Wildcards funktionieren nicht--> </_0:field> </_0:DataRow> </_0:ModelCRUD> <_0:ADLoginRequest> <_0:user>WebService</_0:user> <_0:pass>MYPASSWORD</_0:pass> <_0:lang>191</_0:lang> <_0:ClientID>11</_0:ClientID> <_0:RoleID>50004</_0:RoleID> <_0:OrgID>11</_0:OrgID> <_0:WarehouseID>103</_0:WarehouseID> <_0:stage>0</_0:stage> </_0:ADLoginRequest> </_0:ModelCRUDRequest> </_0:queryData> </soapenv:Body> </soapenv:Envelope> Webservices testen/benutzen Daten Abfragen
  14. 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. 15. evenos Consulting GmbH 15 Danke für eure Aufmerksamkeit Noch Fragen? Schick mir eine Mail an jan.thielemann@evenos.de

×