Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und relevantere Anzeigen zu schalten. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

445 Aufrufe

Veröffentlicht am

Webservices Vortrag. Gehalten auf dem deutschen iDempiere Community Treffen

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

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

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

×