Usługi internetowe

Z iDempiere pl
Przejdź do nawigacji Przejdź do wyszukiwania

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