Usługi internetowe
Ta strona opisuje modelowo zorientowany interfejs usług internetowych i podaje odniesienie do parametrów wszystkich metod, z których można korzystać.
Zobacz Pierwsze kroki w usługach sieciowych, aby uzyskać wprowadzenie dla początkujących.
Istnieje inny interfejs zwany Usługą złożoną, który wykonuje kilka żądań w jednej transakcji (więcej informacji zawiera Ulepszenia usług internetowych NF1.0).
Usługi internetowe SOAP
Adres URL do usług
Wtyczka SOAP Web Services jest zawarta w podstawowej instalacji programu iDempiere. Adres URL dostępnych usług WWW SOAP w Twojej instalacji można znaleźć w:
https://your_host:ssl_port/ADInterface/services
Na przykład adres URL usług ujawnionych w lokalnej instalacji iDempiere będzie:
https://localhost:8443/ADInterface/services
Zwróć uwagę, że w tym przykładzie zastosowano protokół HTTPS dla bezpieczeństwa (stąd użycie domyślnego portu SSL 8443), ale do testowania można również użyć mniej bezpiecznego portu HTTP 8080.
Modelowo zorientowane usługi internetowe (ModelADService)
Parametry logowania
Usługi internetowe zorientowane na model mają inne rozwiązanie właśnie w iDempiere: potrzebują danych logowania dla każdego żądania, otwierania sesji, wykonania operacji i zamykania sesji. Nie mają one na celu replikowania funkcjonalności interfejsu, ale pozwalają na wykonywanie typowych operacji w iDempiere.
Wszystkie te usługi wymagają następujących danych logowania:
- ADLoginRequest (user, pass, lang, ClientID, RoleID, OrgID, WarehouseID, stage) - uwaga, bufor danych stage nie jest tu używany
Wszystkie te usługi WWW otrzymują parametr serviceType. Jest to skonfigurowane w warstwie zabezpieczeń wyjaśnionej w Zabezpieczenie usług internetowych. Parametry są sprawdzane (i w razie potrzeby modyfikowane) w stosunku do definicji parametru serviceType.
Konfiguracja i zabezpieczenia
Usługi sieciowe zorientowane na model są bardzo ogólne, więc potrzebują dodatkowej warstwy zabezpieczeń, aby zapewnić bezpieczeństwo serwera.
Przewodnik po usługach internetowych i zabezpieczeniach w słowniku iDempiere znajduje się tutaj:Zabezpieczenie usług internetowych
Dostępne usługi sieciowe SOAP
setDocAction
Ta usługa sieci Web ma na celu wywołanie zmiany w działaniu dokumentu, np. wypełnij dowód przyjęcia materiałów, przygotuj zamówienie zakupu, unieważnij fakturę i tak dalej.
Parametry:
- serviceType
- tableName
- recordID
- docAction
Zwraca:
- StandardResponse (Error Message, IsError flag, RecordID)
Proces:
- Zaloguj się i utwórz sesję (zwraca właściwą wiadomość, jeśli nie może się zalogować)
- Uzyskaj rekord z danymi tableName i recordID (musi to być tabela dokumentów, musi mieć powiązaną klasę Model implementującą interfejs DocAction)
- Wywołaj metodę odpowiadającą newDocStatus (tzn. PrepareIt, completeIt, voidIt, itp.)
- Zwraca dowolną wiadomość i odpowiednio oznacza flagę IsError
Uwaga: usługa sieciowa setDocAction nie uzupełnia dokumentów za pośrednictwem przepływu pracy, więc przeskakuje wszelkie kroki zatwierdzania zdefiniowane w obiegu dokumentów. Lepiej używać usługi sieciowej runProcess do uzupełniania dokumentów za pomocą przepływu pracy.
runProcess
Ta usługa sieci Web jest przeznaczona do uruchomienia procesu lub podniesienia procesu, który rozpoczyna przepływ pracy dokumentu.
Parameters:
- serviceType
- AD_Process_ID
- AD_Menu_ID - nie używane
- AD_Record_ID
- DocAction (stosowane, jeśli proces jest przepływem dokumentów)
- ParamValues (opcjonalny zestaw DataRow)
Zwraca:
- RunProcessResponse (Error, Summary, LogInfo, Data, IsError, IsReport, ReportFormat)
Proces:
- Zaloguj się i utwórz sesję (zwraca właściwą wiadomość, jeśli nie może się zalogować)
- Jeśli proces jest przepływem dokumentów, ustaw DocAction zgodnie z parametrem
- Wykonuje proces wskazany przez AD_Process_ID
- Wysyła wiadomość zwrotną i zwraca odpowiednio to, co musi zwrócić proces
getList
Ta usługa sieciowa służy do pobierania danych z listy (lista referencyjna lub tabela odniesienia)
Parametry:
- serviceType
- AD_Reference_ID
- Filter - opcjonalnie
Zwraca:
- WindowTabData (DataSet -> DataRow array -> DataField array -> para Column (kolumna) i Value (wartość))
Proces:
- Loguje się i tworzy sesję (zwraca odpowiedni komunikat, jeśli nie może się zalogować)
- Get the list table, columns, where and order by Uzyskuje tabelę, kolumny, lokalizację i kolejność
- Stosuje filtr
- Wypełnia komunikat zwrotny wartościami dozwolonych kolumn wyjściowych
createData
Ta usługa internetowa ma na celu utworzenie jednego rekordu w tabeli. Tabela i dozwolone kolumny wejściowe muszą być skonfigurowane w parametrze serviceType.
Parametry:
- serviceType
- TableName
- RecordID - nie używany tutaj
- Filter - nie używany tutaj
- Action - mysi być Create
- DataRow (DataField tablica par Column+Value )
Zwraca:
- StandardResponse (Error Message, IsError flag, RecordID)
Proces:
- Sesja login i create (zwraca odpowiedni komunikat, jeśli nie może się zalogować)
- Tworzy nowy rekord w żądanej tabeli
- Ustala kolumny
- Przywołuje mechanizm utrwalania iDempiere, aby zapisać wiersz (to wymaga wywoływania automatycznie przed / po wyzwalaczami i weryfikatorami modelu)
- Jeśli się powiedzie, wypełnia rekord ID w odpowiedzi
- Zwraca dowolną wiadomość i odpowiednio oznacza flagę IsError
updateData
Ta usługa internetowa służy do modyfikowania jednego rekordu w tabeli (dostępny wg ID). Tabela i dozwolone kolumny wejściowe muszą być skonfigurowane w parametrze serviceType.
Parameters:
- serviceType
- TableName
- RecordID - wymagany
- Filter - nie używane tutaj
- Action - musi być aktualizowane
- DataRow (DataField tabela par Column+Value)
Zwraca:
- StandardResponse (Error Message, IsError flag, RecordID)
Proces:
- Login and create session (it returns proper message if it can't login) Loguje się i tworzy sesję (zwraca odpowiedni komunikat, jeśli nie może się zalogować)
- Odczytuje rekord z żądanej tabeli za pomocą recordID
- Ustala kolumny
- Przywołuje mechanizm utrwalania iDempiere, aby zapisać wiersz (to wymaga wywoływania automatycznie przed / po wyzwalaczami i weryfikatorami modelu)
- Jeśli się powiedzie, wypełnia rekord ID w odpowiedzi
- Zwraca dowolną wiadomość i odpowiednio oznacza flagę IsError
deleteData
This web service is intended to delete one record from a table. The table must be configured in the serviceType.
Parameters:
- serviceType
- TableName
- RecordID - required
- Filter - not used here
- Action - must be Delete
- DataRow - not used here
Returns:
- StandardResponse (Error Message, IsError flag, RecordID)
Process:
- Login and create session (it returns proper message if it can't login)
- Read the record from the desired table using the recordID
- Invoke the adempiere persistence engine to delete the row (this implies calling automatically before/after triggers and model validators)
- Returns any message, and flag the IsError flag accordingly
readData
This web service is intended to return values from one record on a table (accessed by ID). The table and allowed output columns must be configured in the serviceType.
Parameters:
- serviceType
- TableName
- RecordID - required
- Filter - not used here
- Action - must be Read
- DataRow - not used here
Returns:
- WindowTabData (DataSet -> DataRow array -> DataField array -> pair of Column and Value) - just one record
Process:
- Login and create session (it returns proper message if it can't login)
- Read the record from the desired table using the recordID
- Fill the return message with values of the allowed output columns
queryData
This web service is intended to query records on a table (accessed by conditions on columns and filter). The table, allowed input columns (conditions) and allowed output columns must be configured in the serviceType.
Parameters:
- serviceType
- TableName
- RecordID - not used here
- Filter
- Action - must be Read
- DataRow - to define the conditions of columns
Returns:
- WindowTabData (DataSet -> DataRow array -> DataField array -> pair of Column and Value) - zero, one or several records
Process:
- Login and create session (it returns proper message if it can't login)
- Query the records from the desired table using the conditions on columns and filter (and applying the access security defined for role)
- Fill the return message with values of the allowed output columns