Konfiguracja właściwości IMSInteractionSpec

Na potrzeby interakcji z systemem IMS musi zostać udostępniony skonfigurowany obiekt IMSInteractionSpec.

Gdy aplikacja Java wchodzi w interakcję z systemem IMS, musi udostępnić skonfigurowany obiekt IMSInteractionSpec. Wartości właściwości obiektu IMSInteractionSpec opisują interakcję z systemem IMS. Wartości dla właściwości obiektu IMSInteractionSpec mogą być podawane przy użyciu metod set bezpośrednio przez aplikację, która korzysta z interfejsu CCI (Common Client Interface), lub mogą być podawane w kreatorze środowiska IDE, które generuje kod aplikacji. Niektóre z właściwości są wyłącznie właściwościami wejściowymi, niektóre jednocześnie wejściowymi i wyjściowymi, a niektóre jedynie wyjściowymi. Właściwości wyjściowe są sprawdzane przez aplikację Java (nazywaną również komponentem aplikacji) w celu uzyskania dodatkowych informacji na temat interakcji.

Poniższa lista opisuje wszystkie właściwości obiektu IMSInteractionSpec:

altClientID
Jest to właściwość wejściowa służąca do udostępniania nazwy alternatywnego identyfikatora klienta. Ta nazwa będzie wykorzystywana jako potok TPIPE, z którego będą pobierane asynchroniczne dane wyjściowe we współużytkowanym połączeniu trwałego gniazda.
Ta właściwość jest obsługiwana przy spełnionych następujących kryteriach:
  • Połączenie TCP/IP ze współużytkowanym trwałym gniazdem.
  • Poprawne komendy interakcji do pobrania komunikatów z asynchronicznego wyjścia (żądanie resumeTpipe): SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT i SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT.
  • Interakcja w trybie kontroli transakcji 0 - nie może być używana z protokołem Local Option.
  • Nie może być używana z dedykowanym połączeniem gniazda.
  • Nazwa przekierowania i alternatywny identyfikator klienta są wzajemnie wyłączne i nie mogą być określone jednocześnie.
asyncOutputAvailable
Jest to tylko właściwość wyjścia. Może być wykorzystywana przez aplikację Java do określania, czy w potoku TPIPE związanym z połączeniem wykorzystywanym dla interakcji w trybie kontroli transakcji 0 znajdują się dane wyjściowe. Dla dedykowanych połączeń trwałego gniazda nazwą potoku TPIPE jest wartość właściwości clientID obiektu IMSConnectionSpec. W przypadku współużytkowanych połączeń trwałego gniazda nazwa potoku TPIPE jest generowana przez produkt IMS Connector for Java. Jeśli w kolejce znajdują się komunikaty, właściwość asyncOutputAvailable ma wartość true. Właściwość asyncOutputAvailable nie jest ustawiana na wejściu przez komponent aplikacji. Uwaga: Jeśli aplikacja Java korzysta z tej właściwości, musi ona być właściwością wyjścia obiektu IMSInteractionSpec.
convEnded
Jest to tylko właściwość wyjścia. Może być wykorzystywana przez aplikację Java do określania, czy konwersacja została zakończona (wartość true). Właściwość convEnded nie jest ustawiana na wejściu przez komponent aplikacji. Uwaga: Jeśli aplikacja Java korzysta z tej właściwości, musi ona być właściwością wyjścia obiektu IMSInteractionSpec.
commitMode
Używana przez adapter zasobów IMS TM w celu wskazania typu trybu kontroli transakcji stosowanego podczas przetwarzania transakcji IMS. Więcej informacji na ten temat zawiera sekcja Przetwarzanie trybów kontroli transakcji - przegląd. Gdy właściwość interactionVerb ma wartość SYNC_SEND_RECEIVE, właściwość commitMode może mieć wartość 0 lub 1. Gdy właściwość interactionVerb ma wartość SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT lub SYNC_SEND, produkt IMS Connector for Java korzysta z trybu commitMode 0. Tryb commitMode równy 1 jest wymagany, gdy właściwość interactionVerb ma wartość SYNC_END_CONVERSATION.
Jeśli właściwość commitMode ma wartość 0, a dla interakcji wykorzystywane jest trwałe gniazdo współużytkowalne, nie trzeba podawać wartości właściwości clientID. Jeśli dla interakcji na trwałym gnieździe współużytkowalnym określona jest wartość 0 właściwości commitMode, komunikat wyjściowy transakcji może zostać wyczyszczony lub przekierowany. Niedostarczone dodatkowe dane wyjściowe z przełącznika program-program także mogą zostać wyczyszczone lub przekierowane.
Jeśli dla interakcji wykorzystywane jest połączenie trwałego gniazda dedykowanego, właściwość commitMode musi mieć wartość 0 oraz musi być podana wartość właściwości clientID obiektu IMSConnectionSpec używanego dla połączenia. Jeśli dla interakcji w trybie kontroli transakcji 0 wykorzystywane jest trwałe gniazdo dedykowane, niedostarczone komunikaty wyjściowe zawsze można pobrać i nie można ich wyczyścić lub przekierować.
socketTimeout
Maksymalny czas, przez jaki produkt IMS Connector for Java będzie czekać na odpowiedź produktu IMS Connect przed rozłączeniem gniazda i zwróceniem wyjątku do aplikacji klienckiej. Wartość właściwości socketTimeout jest określana w milisekundach. Aby używać limitu czasu dla gniazda, należy podać wartość większą od zera. Jeśli dla interakcji nie podano limitu czasu dla gniazda lub podano wartość zero milisekund, limitu czasu dla gniazda nie będzie lub czas oczekiwania będzie nieograniczony. Więcej informacji na ten temat zawierają sekcje Limit czasu dla gniazda i Ustawianie wartości limitu czasu dla gniazda.
executionTimeout
Maksymalny czas dozwolony dla produktu IMS Connect na wysłanie komunikatu do systemu IMS i odebranie odpowiedzi. Wartość właściwości executionTimeout jest podawana w milisekundach i musi być dziesiętną liczbą całkowitą o wartości -1 lub z zakresu od 1 do 3600000 włącznie. Oznacza to, że wartość właściwości executionTimeout musi być większa od zera i mniejsza lub równa jednej godzinie. Jeśli dla tej właściwości podana zostanie wartość -1, interakcja będzie uruchamiania bez limitu czasu. Więcej informacji na ten temat zawierają sekcje Limit czasu wykonania, Ustawienie wartości limitu czasu wykonania i Poprawne wartości limitu czasu wykonania.
imsRequestType
Wskazuje typ żądania IMS i określa, w jaki sposób dane wyjściowe żądania będą obsługiwane przez adapter zasobów IMS TM. Wartości całkowite to:
Wartość Stała nazwana w obiekcie IMSInteractionSpecProperties Opis
1

IMS_REQUEST_TYPE_IMS_
TRANSACTION

Żądanie jest transakcją IMS. Do publikowania komunikatu wyjściowego aplikacji wykorzystywane są zwykłe dane wyjściowe transakcji zwracane przez system IMS. Jeśli system IMS zwróci komunikat "DFS", adapter zasobów IMS zgłosi wyjątek IMSDFSMessageException zawierający ten komunikat "DFS".

Ta wartość właściwości imsRequestType jest wykorzystywana dla aplikacji, które nie zostały wygenerowane za pomocą obsługi MFS produktu WebSphere Studio.

2 IMS_REQUEST_TYPE_IMS_COMMAND Żądanie jest komendą IMS. Wyjście komendy zwracane przez system IMS, włącznie z komunikatami "DFS", wykorzystywane jest do zapełnienia komunikatu wyjściowego aplikacji. Wyjątek IMSDFSMessageException nie jest zgłaszany.

Ta wartość właściwości imsRequestType wykorzystywana jest przez aplikacje wprowadzające komendy IMS.

3

IMS_REQUEST_TYPE_MFS_
TRANSACTION

Ta wartość właściwości imsRequestType jest zarezerwowana dla aplikacji, które zostały wygenerowane za pomocą obsługi MFS produktu WebSphere Studio.

Do zapełnienia komunikatu wyjściowego aplikacji wykorzystywane są zwykłe dane wyjściowe transakcji zwracane przez system IMS, a także komunikaty "DFS". Wyjątek IMSDFSMessageException nie jest zgłaszany.

interactionVerb
Tryb interakcji między aplikacją Java a systemem IMS. Wartości aktualnie obsługiwane przez adapter zasobów IMS TM to:
Wartość Stała nazwana w obiekcie IMSInteractionSpecProperties Opis
0 SYNC_SEND Adapter zasobów IMS TM wysyła do systemu IMS żądanie klienta za pośrednictwem produktu IMS Connect i nie oczekuje odpowiedzi z systemu IMS. Klient wykorzystujący interakcję SYNC_SEND nie wymaga zsynchronizowanego odbierania odpowiedzi z systemu IMS. Interakcja SYNC_SEND jest obsługiwana dla połączeń trwałego gniazda współużytkowalnego i dedykowanego i dozwolona tylko dla interakcji w trybie kontroli transakcji 0. Jeśli właściwość interactionVerb ma wartość SYNC_SEND, wartości limitu czasu wykonania i limitu czasu dla gniazda są ignorowane. Uwaga: Wartość imsRequestType równa 2 nie jest dozwolona dla interakcji SYNC_SEND i spowoduje wygenerowanie wyjątku.
1 SYNC_SEND_RECEIVE Wykonanie interakcji IMS spowoduje wysłanie żądania do systemu IMS i zsynchronizowane odebranie odpowiedzi. Typową interakcją SYNC_SEND_RECEIVE jest uruchamianie niekonwersacyjnej transakcji IMS, dla której rekord wejściowy (komunikat wejściowy transakcji IMS) wysyłany jest do systemu IMS, a rekord wyjściowy (komunikat wyjściowy transakcji IMS) jest zwracany przez system IMS. Interakcje SYNC_SEND_RECEIVE wykorzystywane są także dla iteracji konwersacyjnej transakcji IMS. Transakcja konwersacyjna wymaga, aby właściwość commitMode była równa 1. Transakcja niekonwersacyjna może działać, gdy właściwość commitMode jest równa 1 lub 0. Jeśli właściwość commitMode jest równa 0 dla trwałego gniazda dedykowanego, należy udostępnić wartość właściwości clientID obiektu IMSConnectionSpec. Jeśli właściwość commitMode równa 0 jest używana dla współużytkowanego trwałego gniazda, nie należy podawać wartości właściwości clientID obiektu IMSConnectionSpec.
3 SYNC_END_CONVERSATION Jeśli aplikacja wykonuje interakcję, której właściwość interactionVerb ma wartość SYNC_END_CONVERSATION, adapter zasobów IMS TM wysyła komunikat wymuszający zakończenie transakcji konwersacyjnej IMS.

Gdy właściwość interactionVerb ma wartość SYNC_END_CONVERSATION, właściwości commitMode obiektu IMSInteractionSpec i clientID obiektu IMSConnectionSpec nie mają zastosowania.

4 SYNC_RECEIVE_ASYNCOUTPUT Wartość SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT właściwości interactionVerb jest poprawna dla połączeń trwałego gniazda współużytkowalnego oraz dedykowanego. Wartość SYNC_RECEIVE_ASYNCOUTPUT jest wykorzystywana do pobierania asynchronicznych danych wyjściowych, które nie zostały dostarczone. Jeśli dla trwałego gniazda dedykowanego używana jest wartość SYNC_RECEIVE_ASYNCOUTPUT, należy podać wartość właściwości clientID obiektu IMSConnectionSpec.

Interakcja RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT dla połączenia trwałego gniazda współużytkowalnego musi znajdować się w tej samej aplikacji, co oryginalna interakcja SYNC_SEND lub SYNC_SEND_RECEIVE i musi korzystać z tego samego trwałego połączenia współużytkowalnego. Ma to miejsce przede wszystkim po przekroczeniu limitu czasu wykonania.

Używając tego typu interakcji, klient Java może otrzymać tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA nie ma komunikatów dla danej wartości clientID, dalsze próby pobrania komunikatu nie będą podejmowane. W takim przypadku nie są zwracane żadne komunikaty, a po upływie czasu określonego we właściwości executionTimeout interakcji SYNC_RECEIVE_ASYNCOUTPUT nastąpi przekroczenie limitu czasu.

5

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

interactionVerb

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

jest poprawna dla połączeń trwałego gniazda współużytkowalnego oraz dedykowanego. Używana jest do pobrania asynchronicznych danych wyjściowych.

Interakcja SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

dla połączenia trwałego gniazda współużytkowalnego musi znajdować się w tej samej aplikacji, co oryginalna interakcja SYNC_SEND lub SYNC_SEND_RECEIVE i musi korzystać z tego samego trwałego połączenia współużytkowalnego. Ma to miejsce przede wszystkim po przekroczeniu limitu czasu wykonania.
Używając tego typu interakcji, klient Java może otrzymać tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA nie ma komunikatów dla danej wartości clientID, dalsze próby pobrania komunikatu nie będą podejmowane. Nie zostanie zwrócony żaden komunikat, a po upływie czasu określonego we właściwości executionTimeout interakcji SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT nastąpi przekroczenie limitu czasu.

  

Uwaga: Wartości SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT i

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

właściwości interactionVerb spełniają tę samą funkcję. Jednak zalecane jest używanie wartości

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_NOWAIT

6

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

interactionVerb

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

jest używana do pobierania asynchronicznych danych wyjściowych. Jest poprawna dla połączeń trwałego gniazda współużytkowalnego oraz dedykowanego.

Interakcja SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

dla połączenia trwałego gniazda współużytkowalnego musi znajdować się w tej samej aplikacji, co oryginalna interakcja SYNC_SEND lub SYNC_SEND_RECEIVE i musi korzystać z tego samego trwałego połączenia współużytkowalnego. Ma to miejsce przede wszystkim po przekroczeniu limitu czasu wykonania.
Używając tego typu interakcji, klient Java może otrzymać tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA nie ma komunikatów dla danej wartości clientID, produkt IMS Connect czeka na zwrócenie komunikatu z kolejki OTMA. Produkt IMS Connect czeka przez czas określony we właściwości executionTimeout interakcji

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT,

zanim zwróci wyjątek.

Wartości SYNC_RECEIVE (2) architektury J2EE Connection Architecture (JCA) nie są obecnie obsługiwane.

ltermName
Nazwa LTERM wykorzystywana do nadpisywania wartości pola LTERM bloku PCB we/wy aplikacji IMS. Więcej informacji na temat sposobu użycia nadpisywania LTERM zawiera podręcznik IMS Connect User's Guide and Reference (SC27-0946-23).

Wartość tej właściwości można ustawić, gdy aplikacja kliencka chce udostępnić nazwę nadpisywania LTERM. Ta nazwa będzie się znajdowała w bloku PCB we/wy aplikacji IMS i powinna być używana podczas podejmowania decyzji logicznych przez aplikację IMS w oparciu o wartość nadpisywania.

Wartość tej właściwości można ustawić, gdy aplikacja kliencka chce udostępnić nazwę nadpisywania LTERM. Ta nazwa będzie się znajdowała w bloku PCB we/wy aplikacji IMS i powinna być używana podczas podejmowania decyzji logicznych przez aplikację IMS w oparciu o wartość nadpisywania.

mapName
Pole mapName zazwyczaj zawiera nazwę bloku sterującego MFS (Message Format Service - usługa formatu komunikatu). Blok MFS jest komponentem systemu IMS, który służy do przeprowadzania na bieżąco formatowania komunikatów wejściowych i wyjściowych transakcji. Ponieważ produkt IMS Connect przy dostępie do systemu IMS korzysta z kolejki IMS OTMA, formatowanie na bieżąco przez blok MFS jest pomijane. Jednak pole mapName może być nadal używane przez aplikację Java w celu wprowadzenia nazwy bloku sterującego MFS do aplikacji IMS lub do pobrania nazwy bloku sterującego MFS udostępnionej przez aplikację IMS.

Zazwyczaj na wejściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Nazwa MOD zostanie udostępniona aplikacji IMS w bloku PCB we/wy.

Na wyjściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Jest to nazwa MOD, którą aplikacja IMS określa podczas wstawiania komunikatu wyjściowego transakcji do bloku PCB we/wy.

Uwaga: Pole mapName nie powinno być wykorzystywane przez aplikacje Java korzystające z usługi korporacyjnej, której komunikaty wejściowe i wyjściowe generowane są za pomocą obsługi MFS produktu WebSphere Studio.

Zazwyczaj na wejściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Nazwa MOD zostanie udostępniona aplikacji IMS w bloku PCB we/wy.

Na wyjściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Jest to nazwa MOD, którą aplikacja IMS określa podczas wstawiania komunikatu wyjściowego transakcji do bloku PCB we/wy.

Pole mapName nie powinno być wykorzystywane przez aplikacje Java korzystające z usługi korporacyjnej, której komunikaty wejściowe i wyjściowe są generowane za pomocą obsługi MFS produktu WebSphere Studio.

purgeAsyncOutput
Jest to właściwość wejścia. Ta właściwość określa, czy produkt IMS Connect czyści niedostarczone dane wyjściowe.

Ta właściwość jest poprawna tylko dla interakcji w połączeniach trwałego gniazda współużytkowalnego, które korzystają z komendy interakcji IMS SYNC_SEND_RECEIVE. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego. Ma zastosowanie dla interakcji w trybie kontroli transakcji 0. Nie ma zastosowania dla interakcji w trybie kontroli transakcji 1. Jeśli jednak interakcja w trybie kontroli transakcji 1 uruchamia przełączanie program-program, program tworzący proces uruchomi tryb kontroli transakcji 0 i ta właściwość zostanie zastosowana.

Jeśli dla interakcji SYNC_SEND_RECEIVE dla połączenia trwałego gniazda współużytkowalnego nie określono właściwości purgeAsyncOutput, przyjmie ona wartość domyślną TRUE, co spowoduje wyczyszczenie następujących komunikatów wyjściowych:
  • Niedostarczone komunikaty wyjściowe wstawione do bloku PCB we/wy przez podstawową aplikację IMS.
  • Komunikaty wyjściowe wstawione do bloku PCB we/wy przez dodatkowe aplikacje IMS wywołane przez przełącznik program-program.
reRoute
Jest to właściwość wejścia.

Ta właściwość jest poprawna tylko dla interakcji w połączeniach trwałego gniazda współużytkowalnego, które korzystają z komendy interakcji IMS SYNC_SEND_RECEIVE. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego. Ma zastosowanie dla interakcji w trybie kontroli transakcji 0. Nie ma zastosowania dla interakcji w trybie kontroli transakcji 1. Jeśli jednak interakcja w trybie kontroli transakcji 1 uruchamia przełączanie program-program, program tworzący proces uruchomi tryb kontroli transakcji 0 i ta właściwość zostanie zastosowana. Ta właściwość określa, czy niedostarczone dane wyjściowe mają być przekierowane do nazwanego miejsca docelowego, określonego w polu reRouteName. Jeśli właściwość reRoute ma wartość TRUE, asynchroniczne dane wyjściowe nie są kolejkowane w potoku TPIPE wygenerowanej wartości właściwości clientID. Są natomiast kolejkowane w miejscu docelowym, którego nazwę wskazuje pole reRouteName. Wartością domyślną właściwości reRoute jest FALSE.

Jeśli właściwości reRoute i purgeAsyncOutput mają wartość TRUE, zgłaszany jest wyjątek.

reRouteName
Ta właściwość udostępnia nazwę miejsca docelowego, w którym mają być kolejkowane asynchroniczne dane wyjściowe. Jeśli właściwość reRoute ma wartość TRUE, ta właściwość udostępnia nazwane miejsce docelowe. Jeśli właściwość reRoute ma wartość FALSE, właściwość reRouteName jest ignorowana.
Jeśli właściwość reRoute ma wartość TRUE i nie podano wartości właściwości reRouteName, wartością właściwości reRouteName będzie:
  1. Wartość podana w pliku konfiguracyjnym produktu IMS Connect.
  2. Jeśli w pliku konfiguracyjnym produktu IMS Connect nie podano żadnej wartości, użyta zostanie wartość "HWS$DEF".
Poprawne wartości właściwości reRouteName to:
  • Łańcuch znaków alfanumerycznych (A-Z, 0-9) lub znaków specjalnych (@,#,$) o długości od 1 do 8 znaków.
  • Nie może się rozpoczynać od łańcucha "HWS".
  • Nie może być numerem portu produktu IMS Connect.
  • Małe litery zostaną zastąpione wielkimi literami.

Właściwość reRouteName jest poprawna tylko w przypadku interakcji SYNC_SEND_RECEIVE dla połączeń trwałego gniazda współużytkowalnego. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego.

syncLevel
Jest to właściwość wejścia. Wartość syncLevel to poziom synchronizacji interakcji między produktem IMS Connector for Java i programem IMS OTMA. Poprawne wartości poziomów synchronizacji to 0 (NONE) i 1 (CONFIRM). Właściwość syncLevel odnosi się tylko do wartości SYNC_SEND_RECEIVE i SYNC_SEND właściwości interactionVerb i jest używana w kombinacji z właściwością commitMode. Dotyczy zarówno aplikacji konwersacyjnych, jak i niekonwersacyjnych.
Tryb kontroli transakcji 1
Dla poziomu synchronizacji poprawne są wartości 0 i 1. Domyślną wartością jest 0. Na przykład jeśli właściwość interactionVerb jest ustawiona na SYNC_SEND_RECEIVE, a właściwość commitMode ma wartość 1, ustawianie właściwości syncLevel nie jest konieczne. Jeśli do metody setSyncLevel(int) zostanie przekazana dowolna wartość inna niż 0 lub 1, zostanie zgłoszony wyjątek.  
Tryb kontroli transakcji 0
Wartość 1 dla poziomu synchronizacji jest jedyną poprawną wartością. W tym trybie kontroli transakcji ustawianie wartości poziomu synchronizacji nie jest konieczne. Jeśli do metody setSyncLevel(int) zostanie przekazana dowolna wartość różna od 1, zostanie zgłoszony wyjątek.
Programy wyzwalane przez przełącznik program-program zawsze będą przetwarzane w trybie kontroli transakcji 0, niezależnie od poziomu synchronizacji początkowego programu. Z tego powodu dodatkowe dane wyjściowe z tych programów mogą być umieszczane w kolejce przekierowania lub czyszczone, zgodnie z ustawieniem właściwości reRoute i purgeNotDeliverable w pierwotnej interakcji.

Opinie