Általános felület

Általános felület rétegei
Hálózati átvitel
Adatleképezés
Vezérlő
Művelet (OTRS mint szolgáltató)
Meghívó (OTRS mint kérelmező)
Általános felület kommunikációs folyamat
OTRS mint szolgáltató
Távoli kérés:
OTRS-válasz:
OTRS mint kérelmező
OTRS-kérés:
Távoli válasz:
Webszolgáltatások
Webszolgáltatás grafikus felülete
Webszolgáltatás áttekintés
Webszolgáltatás hozzáadása
Webszolgáltatás példa importálása
Webszolgáltatás megváltoztatása
Webszolgáltatás klónozása
Webszolgáltatás exportálása
Webszolgáltatás importálása
Webszolgáltatás előzmények
Webszolgáltatás törlése
Webszolgáltatás hibakereső
Webszolgáltatás-beállítás megváltoztatása
Webszolgáltatás parancssori felülete
Webszolgáltatás-beállítás
Beállítási részletek
Általános
Hibakereső
Szolgáltató
Kérelmező
Csatlakozók
Csomagolt csatlakozók
Munkamenet csatlakozó
Jegy csatlakozó
Példák:
Webszolgáltatás-beállítás
Perl SOAP kérelmező
Perl REST kérelmező
cURL példák a REST kérésekhez

Az OTRS általános felülete egy többrétegű keretrendszerből áll, amely az OTRS-t kommunikálni hagyja más rendszerekkel egy webszolgáltatáson keresztül. Ez a kommunikáció lehet kétirányú is:

Általános felület rétegei

Az általános felület egy rétegmodell alapján épül fel, hogy rugalmas és könnyen személyre szabható legyen.

Egy réteg olyan fájlok halmaza, amelyek azt vezérlik, hogy az általános felület hogyan hajtsa végre egy webszolgáltatás különböző részeit. A megfelelő beállítás használatával egyesek különböző webszolgáltatásokat tudnak felépíteni különböző külső rendszerekhez új modulok létrehozása nélkül.

Megjegyzés

Ha a távoli rendszer nem támogatja az általános felület jelenleg csomagolt moduljait, akkor speciális modulok fejlesztése szükséges az adott webszolgáltatáshoz.

Az OTRS-sel szállított szolgáltatott általános felület modulok listája idővel frissítve és növelve lesz.

4.97. ábra - A grafikus felület rétegei

A grafikus felület rétegei


Hálózati átvitel

Ez a réteg felelős a távoli rendszerrel való megfelelő kommunikációért. Fogadja a kéréseket és válaszokat állít elő, amikor szolgáltatóként működik, és kéréseket állít elő és válaszokat fogad, amikor kérelmezőként működik.

A szolgáltató kommunikációját egy új „nph-genericinterface.pl” nevű webszolgáltatás kezelő kezeli.

A kérelmező kommunikációja kezdeményezhető egy általános felület modul vagy bármely egyéb OTRS modul által aktivált esemény közben. Ezt az eseményt az eseménykezelő kapja el, és a beállítástól függően az eseményt közvetlenül a kérelmező objektum fogja feldolgozni, vagy delegálja az ütemezőnek (egy különálló démon, amelyet feladatok aszinkron módon történő feldolgozására terveztek).

Adatleképezés

Ez a réteg felelős az adatszerkezetek átfordításáért az OTRS és a távoli rendszer között (belső adatok és külső adatok rétegek). Általában a távoli rendszereknek eltérő adatszerkezetük van az OTRS adatszerkezetétől (beleértve a különböző értékeket és neveket azoknál az értékeknél), és itt rejlik a réteg fontossága, hogy a fogadott információkat valami olyanná változtassa meg, amelyet az OTRS meg tud érteni, és ellenkező módon, az információkat minden egyes távoli rendszerhez a saját adatszótáruk használatával küldje el.

Példa: a „Prioritást” (OTRS) nevezhetnék „Prio”-nak a távoli rendszeren, és lehet, hogy az „1 alacsony” (OTRS) értéket „Információra” kell leképezni a távoli rendszeren.

Vezérlő

A vezérlők hasonló műveletek és meghívók gyűjteményei. Például egy jegyvezérlő számos szabványos jegyműveletet tartalmazhat. Egyéni vezérlők is megvalósíthatók, például egy „TicketExternalCompany” vezérlő, amely hasonló függvényeket tartalmazhat mint a szabványos jegyvezérlő, de eltérő adatfelülettel vagy függvénynevekkel (a távoli rendszer függvényneveihez alkalmazkodva) vagy teljesen eltérő kóddal.

Egy alkalmazás az általános felületnél lehet, hogy információkat szinkronizál egy olyan távoli rendszerrel, amely csak egy másik ugyanolyan távoli rendszerrel tud beszélgetni. Ebben az esetben új vezérlőket kell fejleszteni, és a műveleteknek és a meghívóknak a távoli rendszer viselkedését kell emulálniuk oly módon, hogy az a felület, amelyet az OTRS kitesz, hasonló legyen a távoli rendszer felületéhez.

Művelet (OTRS mint szolgáltató)

Egy művelet egy olyan önálló tevékenység, amely az OTRS-en belül hajtható végre. Az összes műveletnek ugyanolyan programozási felülete van. Fogadják az adatokat egy speciális paraméterbe, és egy adatszerkezetet adnak vissza egy sikeres állapottal, egy lehetséges hibaüzenettel és a visszaadott adatokkal.

Normális esetben a műveletek a már leképezett (belső) adatokat használják a központi modulok meghívásához és a tevékenységek végrehajtásához az OTRS-ben, mint például: egy jegy létrehozása, egy felhasználó frissítése, egy várólista érvénytelenítése, egy értesítés küldése, stb. Egy műveletnek teljes hozzáférése van az OTRS API-hoz egy tevékenység végrehajtásához.

Meghívó (OTRS mint kérelmező)

Egy meghívó egy olyan tevékenység, amelyet az OTRS egy távoli rendszerrel szemben hajt végre. A meghívók az OTRS központi moduljait használják a kérés létrehozásához szükséges információk feldolgozásához és összegyűjtéséhez. Amikor az információk készen állnak, akkor le kell képezni azokat a távoli rendszer formátumára azért, hogy elküldhetők legyenek a távoli rendszernek, amely fel fogja dolgozni az információkat, végre fogja hajtani a tevékenységet, és vissza fogja küldeni a választ a siker feldolgozásához vagy a hibák kezeléséhez.

Általános felület kommunikációs folyamat

Az általános felületnek meghatározott folyamata van a tevékenységek végrehajtásához szolgáltatóként és kérelmezőként.

Ezek a folyamatok vannak alább leírva:

OTRS mint szolgáltató

Távoli kérés:
  1. HTTP-kérés

    • Az OTRS fogadja a HTTP-kérést és továbbadja a rétegeken keresztül.

    • A szolgáltató modul felelős ezen tevékenységek végrehajtásáért és vezérléséért.

  2. Hálózati átvitel

    • A hálózati átvitel modul dekódolja az adat hasznos terhét, és elválasztja a művelet nevét az adat többi részétől.

    • A művelet neve és a művelet adatai visszakerülnek a szolgáltatóhoz.

  3. Külső adatok

    • Az adatok, ahogy a távoli rendszer elküldte (ez nem egy modul alapú réteg).

  4. Leképezés

    • Az adatok átalakításra kerülnek a külső rendszer formátumáról az OTRS belső formátumára, ahogy a leképezési beállításban meg van adva ennél a műveletnél (leképezés a bejövő kérés adataihoz).

    • A már átalakított adatok visszakerülnek a szolgáltatóhoz.

  5. Belső adatok

    • Az adatok, ahogy át lettek alakítva és elő lettek készítve a műveletnek való átadáshoz (ez nem egy modul alapú réteg).

  6. Művelet

    • Fogadja és ellenőrzi az adatokat.

    • Felhasználói hozzáférés-vezérlést hajt végre.

    • Végrehajtja a műveletet.

OTRS-válasz:
  1. Művelet

    • Visszaadja az eredmény adatait a szolgáltatónak.

  2. Belső adatok

    • Az adatok, ahogy visszaadásra kerültek a műveletből.

  3. Leképezés

    • Az adatok visszaalakításra kerülnek a távoli rendszer formátumára, ahogy a leképezési beállításban meg van adva (leképezés a kimenő válasz adataihoz).

    • A már átalakított adatok visszakerülnek a szolgáltatóhoz.

  4. Külső adatok

    • Az adatok, ahogy át lettek alakítva és elő lettek készítve a hálózati átvitelhez való átadáshoz válaszként.

  5. Hálózati átvitel

    • Fogadja a már a távoli rendszer formátumában lévő adatokat.

    • Felépít egy érvényes választ ehhez a hálózati átviteltípushoz.

  6. HTTP-válasz

    • A válasz visszaküldésre kerül a webszolgáltatás kliensének.

    • Egy hiba esetén hibaválasz kerül elküldésre a távoli rendszernek (például SOAP-hiba, HTTP-hiba, stb.).

OTRS mint kérelmező

OTRS-kérés:
  1. Esemény-aktiváló kezelő

    • A webszolgáltatás beállítása alapján meghatározza, hogy a kérés szinkron vagy aszinkron lesz-e.

      • Szinkron

        • Egy közvetlen hívás készül a kérelmezőhöz azért, hogy létrehozzon egy új kérést és továbbadja a rétegeken keresztül.

      • Aszinkron

        • Egy új általános felület (kérelmező) feladat létrehozása az OTRS démonhoz (a kérés végrehajtását az ütemező démonra delegálva a felhasználói élmény erősen növelhető, egyébként a kérés előkészítéséhez szükséges összes idő és a távoli végrehajtás hozzáadásra kerül az OTRS eseményekhez, amely aktiválja azokat a kéréseket).

        • A következő ciklusában az OTRS démonfolyamat beolvassa az új feladatot, és létrehoz egy hívást a kérelmezőhöz, amely létre fog hozni egy új kérést, és azután továbbadja azt a rétegeken keresztül.

  2. Meghívó

    • Fogadja az adatokat az eseményből.

    • Ellenőrzi a fogadott adatokat (ha szükséges).

    • Meghívja a központi modulokat az adatok kiegészítéséhez (ha szükséges).

    • Visszaadja a kért adatszerkezetet, vagy egy kommunikáció leállítása jelet küld a kérelmezőnek a kérés elegáns megszakításához.

  3. Belső adatok

    • Az adatok, ahogy a meghívó átadta (ez nem egy modul alapú réteg).

  4. Leképezés

    • Az adatok átalakításra kerülnek a távoli rendszer formátumára, ahogy a leképezési beállításban meg van adva (leképezés a kimenő válasz adataihoz).

    • A már átalakított adatok visszakerülnek a kérelmezőhöz.

  5. Külső adatok

    • Az adatok, ahogy át lettek alakítva és elő lettek készítve a távoli rendszernek való küldéshez.

  6. Hálózati átvitel

    • Fogadja a távoli művelet nevét és a már a távoli rendszer formátumára átalakított adatokat a kérelmezőtől.

    • Felépít egy érvényes kérést a hálózati átvitelhez.

    • Elküldi a kérést a távoli rendszernek, és várakozik a válaszra.

Távoli válasz:
  1. Hálózati átvitel

    • Fogadja a választ és dekódolja az adat hasznos terhét.

    • Visszaadja az adatokat a kérelmezőnek.

  2. Külső adatok

    • Az adatok, ahogy a távoli rendszerről érkeztek.

  3. Leképezés

    • Az adatok átalakításra kerülnek a külső rendszer formátumáról az OTRS belső formátumára, ahogy a leképezési beállításban meg van adva ennél a műveletnél (leképezés a bejövő válasz adataihoz).

    • A már átalakított adatok visszakerülnek a kérelmezőhöz.

  4. Belső adatok

    • Az adatok, ahogy át lettek alakítva és elkészültek visszaadásra a kérelmezőnek.

  5. Meghívó

    • Fogadja a visszaadott adatokat.

    • Kezeli az adatokat, ahogy minden egyes meghívónál speciálisan szükséges (beleértve a hibakezelést, ha van).

    • Visszaadja a meghívó eredményét és adatait a kérelmezőnek.

  6. Eseménykezelő vagy OTRS démon

    • Fogadja az adatokat a kérelmezőtől. Az OTRS démon esetében ezek az adatok információkat tartalmazhatnak egy feladat jövőbeli létrehozásához.

Webszolgáltatások

A webszolgáltatás egy kommunikációs módszer két rendszer között, a mi esetünkben az OTRS és egy távoli rendszer között.

A webszolgáltatás szíve annak beállítása, ahol az van meghatározva, hogy a webszolgáltatás milyen műveleteket hajthat végre belsőleg (művelet), az OTRS kérés milyen műveleteket hajthat végre a távoli rendszeren (meghívók), az adatok hogyan lesznek átalakítva az egyik rendszerről a másikra (leképezés), és mely protokollon keresztül kerüljön sor a kommunikációra (átvitel).

Az általános felület az a keretrendszer, amely lehetővé teszi webszolgáltatások létrehozását az OTRS-hez egy előre meghatározott módon a már elkészített építőkockák használatával, amelyek egymástól függetlenek és kicserélhetők.

Webszolgáltatás grafikus felülete

A webszolgáltatások grafikus felhasználói felülete (GUI) egy olyan eszköz, amely egy felhasználóbarát és kényelmes felületen teszi lehetővé összetett webszolgáltatás beállítások felépítését. Lehetővé teszi:

  • Webszolgáltatások létrehozását és törlését.

  • Beállítások importálását és exportálását (YAML fájlformátumban) meglévő webszolgáltatásokhoz.

  • Régi beállítások megtekintését, visszaállítását és exportálását a meglévő webszolgáltatásokhoz a webszolgáltatás előzmények képernyőn.

  • Az összes kommunikációs napló követését minden webszolgáltatásnál a hibakereső képernyőn.

Webszolgáltatás áttekintés

Az adminisztrációs felület fő képernyőjén (a Rendszeradminisztráció dobozban) lévő „Webszolgáltatások” hivatkozás vezet a webszolgáltatások áttekintő képernyőjéhez, ahol lehetősége van a webszolgáltatások beállításainak kezelésére. Hozzáadhat új webszolgáltatásokat vagy megváltoztathatja a meglévők beállításait erről a képernyőről.

Minden egyes webszolgáltatás beállítási képernyőnek egy „kenyérmorzsa” stílusú navigációs útvonala van a képernyő felső részén. Ez a navigációs útvonal azért hasznos, hogy pontosan tudjuk, hogy a webszolgáltatás beállításainak mely részén vagyunk, valamint bármikor lehetővé teszi a felhasználónak a beállítási folyamat bármely részére történő visszalépést (ez a művelet nem fog elmenteni semmilyen változtatást).

Megjegyzés

Egy új webszolgáltatás létrehozásához nyomja meg a „Webszolgáltatás hozzáadása” gombot, és adja meg a szükséges információkat.

4.98. ábra - Webszolgáltatások áttekintő

Webszolgáltatások áttekintő


Webszolgáltatás hozzáadása

Az egyetlen kötelező mező ezen a részen a webszolgáltatás „neve”, amelynek egyedinek kell lennie a rendszeren, és nem lehet üresen hagyni. A többi mezők is szükségesek a beállításhoz, mint például a „Hibakereséséi küszöbszint” és az „Érvényesség”, de ezek a mezők már ki vannak töltve az alapértelmezett értékkel minden listánál.

A „Hibakeresési küszöbszint” alapértelmezett értéke a „Hibakeresés”. Ha ilyen módon állítjuk be, akkor az összes kommunikációs napló regisztrálva lesz az adatbázisban. Minden későbbi hibakeresési küszöbszint érték korlátozóbb és eldobja az annál alacsonyabb rendű kommunikációs naplókat, mint amely a rendszeren be van állítva.

A hibakeresési küszöbszint szintjei (az alacsonyabbtól a magasabbig)

  • Hibakeresés

  • Információ

  • Értesítés

  • Hiba

Lehetséges a hálózati átviteli protokoll meghatározása is az „OTRS mint szolgáltató” és az „OTRS mint kérelmező” szakaszoknál.

Kattintson a „Mentés” gombra az új webszolgáltatás regisztrálásához az adatbázisba, vagy kattintson a „Mégse” gombra a művelet eldobásához. Most vissza fog térni a webszolgáltatás áttekintő képernyőjéhez.

Ha már rendelkezik egy YAML-formátumú webszolgáltatás beállítófájllal, akkor rákattinthat a „Webszolgáltatás importálása” gombra a képernyő bal oldalán. A webszolgáltatások importálásával kapcsolatos további információkért nézze meg a következő „Webszolgáltatás megváltoztatása” szakaszt.

Megjegyzés

Egy webszolgáltatás megváltoztatásához vagy további részletek hozzáadásához kattintson a webszolgáltatás nevére a webszolgáltatás áttekintő képernyőjén.

4.99. ábra - Webszolgáltatások hozzáadása

Webszolgáltatások hozzáadása


Webszolgáltatás példa importálása

Tudta, hogy léteznek elérhető példa webszolgáltatások az OTRS Business Solution™ csomagban?

Webszolgáltatás megváltoztatása

Ezen a képernyőn függvények teljes készlete van egy webszolgáltatás minden részének kezeléséhez. A bal oldalon a művelet oszlopban néhány gombot találhat, amelyek lehetővé teszik az összes lehetséges művelet végrehajtását egy webszolgáltatáson:

  • Webszolgáltatás klónozása.

  • Webszolgáltatás exportálása.

  • Webszolgáltatás importálása.

  • Beállítási előzmények.

  • Webszolgáltatás törlése.

  • Hibakereső.

Megjegyzés

A „Beállítási előzmények” és a „Hibakereső” különböző képernyőkre fogja vezetni.

Webszolgáltatás klónozása

Egy webszolgáltatás klónozásához a „Webszolgáltatás klónozása” gombra kell kattintania. Egy párbeszédablak fog megjelenni, ahol használhatja az alapértelmezett nevet vagy beállíthat egy új nevet a (klónozott) webszolgáltatáshoz.

Megjegyzés

Ne feledje, hogy a webszolgáltatás nevének egyedinek kell lennie a rendszeren belül.

Kattintson a „Klónozás” gombra a webszolgáltatás klónjának létrehozásához vagy a „Mégse” gombra a párbeszédablak bezárásához.

4.100. ábra - Webszolgáltatás klónozása

Webszolgáltatás klónozása


Webszolgáltatás exportálása

A „Webszolgáltatás exportálása” gomb lehetőséget ad a jelenlegi webszolgáltatás beállításainak kiírására egy YAML-fájlba, annak letöltésére és eltárolására a fájlrendszerén. Ez különösen akkor lehet hasznos, ha át szeretné költöztetni a webszolgáltatást az egyik kiszolgálóról a másikra, például a tesztkörnyezetből a produktív rendszerre.

Figyelem

A webszolgáltatás beállításaiban tárolt összes jelszó egyszerű szöveges formátumban lesz exportálva.

Közvetlenül a „Webszolgáltatás exportálása” gombra kattintás után a böngészője mentési párbeszédablaka fog megjelenni, akárcsak amikor egy fájl letöltési hivatkozására kattint egy weboldalon.

Megjegyzés

Az egyes operációs rendszereken minden böngészőnek saját mentési párbeszédablak képernyője és stílusa van. A böngészőtől és annak beállításától függően lehetséges, hogy nem jelenik meg párbeszédablak, és a fájl az alapértelmezett könyvtárba lesz elmentve a fájlrendszeren. Nézze meg a böngészője dokumentációját a konkrétabb utasításokért, ha szükséges.

4.101. ábra - Webszolgáltatások exportálása

Webszolgáltatások exportálása


Webszolgáltatás importálása

Egy érvényes webszolgáltatás beállító YAML-fájl szükséges a webszolgáltatás importálása funkció használatához. Kattintson a „Webszolgáltatás importálása” gombra, és tallózzon rá a beállítófájlra vagy adja meg a teljes útvonalat a beviteli dobozban.

Kattintson az „Importálás” gombra egy új webszolgáltatás létrehozásához egy fájlból vagy a „Mégse” gombra a párbeszédablak bezárásához.

Megjegyzés

A webszolgáltatás neve a beállítófájl nevéből lesz átvéve (például ha a fájl neve SajátWebszolgáltatás.yml, akkor a kapott webszolgáltatás SajátWebszolgáltatás elnevezésű lesz). Ha egy ugyanolyan nevű webszolgáltatás van regisztrálva a rendszeren, mint amilyet importálni szeretne, akkor a rendszer a webszolgáltatás megváltoztatása képernyőre fogja vezetni, hogy megváltoztathassa az importált webszolgáltatás nevét.

4.102. ábra - Webszolgáltatások importálása

Webszolgáltatások importálása


Webszolgáltatás előzmények

A webszolgáltatás beállításain végzett minden változtatás új bejegyzést hoz létre a webszolgáltatás előzményeiben (mint egy napló). A webszolgáltatás előzmények képernyő egy webszolgáltatás összes beállítási verziójának listáját jeleníti meg. A „Beállítási előzmények listája” részen lévő minden egyes sor (verzió) egy önálló módosítást képvisel a webszolgáltatás előzményeiben.

Kattintson a sorok egyikére a teljes beállítás megjelenítéséhez, ahogy az egy adott dátumkor vagy időpontban volt. A beállítás ennek a képernyőnek az „Előzményrészletek” szakaszában lesz megjelenítve. Itt is lehetősége van a kijelölt webszolgáltatás-beállítás verziójának exportálására vagy annak a verziónak a visszaállítására a jelenlegi webszolgáltatás beállításaiba.

A „Webszolgáltatás-beállítás exportálása” pontosan úgy viselkedik mint a webszolgáltatás megváltoztatásának képernyőjén lévő „Webszolgáltatás exportálása” funkció. További információkért nézze meg azt a szakaszt.

Ha a jelenlegi webszolgáltatásra történő váltás nem az elvárt módon működik, és nem könnyű a változtatásokat kézzel visszaállítani, akkor rákattinthat a „Webszolgáltatás-beállítás visszaállítása” gombra. Ez meg fog nyitni egy párbeszédablakot azt kérdezve, hogy biztos-e a webszolgáltatás-beállítás visszaállításában. Kattintson a „Webszolgáltatás-beállítás visszaállítása” gombra ezen a párbeszédablakon a jelenlegi beállítás lecseréléséhez a kijelölt verzióra, vagy kattintson a „Mégse” gombra a párbeszédablak bezárásához.

Figyelem

Ne feledje, hogy a webszolgáltatás beállításaiban tárolt összes jelszó egyszerű szöveges formátumban lesz exportálva.

Legyen óvatos egy beállítás visszaállításakor, mert ez a folyamat visszafordíthatatlan.

4.103. ábra - Webszolgáltatás előzmények

Webszolgáltatás előzmények


Webszolgáltatás törlése

Néha szükséges egy webszolgáltatást teljesen törölni. Ennek elvégzéséhez kattintson a „Webszolgáltatás törlése” gombra, és egy új párbeszédablak fog megjelenni egy megerősítés kéréséhez.

Kattintson a „Törlés” gombra a webszolgáltatás eltávolításának megerősítéséhez vagy a „Mégse” gombra a párbeszédablak bezárásához.

Figyelem

Egy webszolgáltatás törlése nem vonható vissza, ezért legyen óvatos egy webszolgáltatás törlésekor.

4.104. ábra - Webszolgáltatás törlése

Webszolgáltatás törlése


Webszolgáltatás hibakereső

A hibakereső tárolja egy webszolgáltatás naplóját. A hibakereső ablakban nyomon követheti az összes webszolgáltatás kommunikációt, mind a szolgáltató, mind a kérelmező típusokat.

Amikor ez a képernyő megjelenik, akkor a kéréslista elkezd betölteni. Miután a lista teljesen ki van töltve, akkor kiválaszthatja a sorok egyikét (amely egy kommunikációs sorozatot jelent) annak részleteinek ellenőrzéséhez. Ezek a részletek fognak megjelenni egy lenti dobozban.

A képernyő jobb oldalán lévő szűrő használatával szűkítheti a kommunikációs listát. A következőkre szűrhet:

  • Kommunikáció típusa (szolgáltató vagy kérelmező)

  • Dátum: egy bizonyos dátum előtt és/vagy után

  • A távoli IP-cím

  • Ezek bármilyen kombinációja

Miután a szűrőbeállítások beállításra kerültek, nyomja meg a „Frissítés” gombot, és egy új lista lesz megjelenítve a keresési feltétek szerint.

Megjegyzés

A szűrőknél a keresési feltételektől függően az új lista eredmények nélkül is visszatérhet.

A képernyő bal oldalán a művelet oszlop alatt kiválaszthatja a „Vissza a webszolgáltatáshoz” lehetőséget, vagy törölheti a hibakereső naplóját a „Törlés” gomb megnyomásával. Ez egy párbeszédablakot fog megnyitni, amely arra kéri, hogy erősítse meg a napló törlését. Kattintson a „Törlés” gombra a párbeszédablakon a művelet végrehajtásához, vagy kattintson a „Mégse” gombra a párbeszédablak bezárásához.

A „Kérésrészletek” szakaszban láthatja a kijelölt kommunikáció összes részletét. Itt nyomon követheti a teljes folyamatot, és ellenőrizheti a lehetséges hibákat vagy jóváhagyhatja a sikeres válaszokat.

4.105. ábra - Webszolgáltatás hibakereső

Webszolgáltatás hibakereső


Webszolgáltatás-beállítás megváltoztatása

A webszolgáltatás megváltoztatása képernyőre visszatérve most át fogjuk tekinteni annak jobb oldalát. Itt lehetőségünk van a webszolgáltatás összes általános adatának módosítására, mint például név, leírás, hibakeresési küszöbszint, stb. Van itt további két szakasz is lent, amely lehetővé teszi számunkra bizonyos paraméterek módosítását az „OTRS mint szolgáltató” és az „OTRS mint kérelmező” kommunikációs típusoknál.

A webszolgáltatás beállítását el kell menteni minden egyes szinten. Ez azt jelenti, hogy ha egy beállítás megváltozik, akkor az egyéb, a beállítás mélyebb részeire mutató hivatkozások le lesznek tiltva arra kényszerítve Önt, hogy elmentse a jelenlegi beállítási szintet. A mentés után a letiltott hivatkozások ismét újra engedélyezve lesznek, lehetővé téve a beállítás folytatását.

Az „OTRS mint szolgáltató” szakasznál lehetséges a hálózati átviteli protokoll megadása vagy beállítása. Csak azok a hálózati átviteli háttérprogramok vannak megjelenítve a listában, amelyek regisztrálva vannak. A hálózati átvitel beállításához kattintson a „Beállítás” gombra. Lehetőség van új műveletek hozzáadásához is ebben a dobozban. Ehhez válassza ki az elérhető műveletek egyikét a „Művelet hozzáadása” listából. Ez a művelet beállítása képernyőre fogja vezetni. Az új művelet mentése után az a fenti táblázatban lesz felsorolva.

Az „OTRS mint kérelmező” nagyon hasonló az előzőhöz, de a „műveletek” helyett itt meghívókat adhat hozzá.

Kattintson a „Mentés” gombra a webszolgáltatás mentéséhez és a beállítás folytatásához, a „Mentés és befejezés” gombra a mentéshez és a webszolgáltatás áttekintő képernyőjéhez való visszatéréshez, vagy a „Mégse” gombra a jelenlegi beállítási szint változtatásainak eldobásához és a webszolgáltatás áttekintő képernyőjéhez való visszatéréshez.

4.106. ábra - Webszolgáltatások megváltoztatása

Webszolgáltatások megváltoztatása


Megjegyzés

A többi általános felület beállítási képernyőhöz hasonlóan - mint például a hálózati átvitel, művelet, meghívó és leképezés - a kezdeti beállítás (hozzáadás) képernyő csak két lehetőséget fog megjeleníteni: „Mentés” és „Mégse”. Ha a beállítást újra meglátogatja, akkor egy új „Mentés és befejezés” lehetőség fog megjelenni. Ennek a funkciónak a viselkedése lentebb van meghatározva.

A „Mentés” el fogja tárolni a jelenlegi beállítási szintet az adatbázisban, és vissza fog térni az előző képernyőre a változtatások áttekintéséhez vagy a mélyebb beállítások konfigurálásához.

A „Mentés és befejezés” el fogja tárolni a jelenlegi beállítási szintet az adatbázisban, és vissza fog térni az előző képernyőre a beállítási hierarchiában (a közvetlenül fölötte lévő beállítási szintre).

A „Mégse” el fog dobni minden beállítási változtatást a jelenlegi beállítási szintnél, és vissza fog térni az előző képernyőre a beállítási hierarchiában.

Webszolgáltatás szolgáltatójának hálózati átvitele

A jövőben az elérhető hálózati átvitelek listája meg lesz növelve. Jelenleg csak a „HTTP::SOAP” és a „HTTP::REST” átvitelek érhetők el. Minden átvitelnek különböző beállítási lehetőségei vannak a beállításhoz, és különböző előtétprogram modulokat használhatnak azok beállításához.

Nagyon egyszerű a „HTTP::SOAP” protokoll szolgáltatóként történő beállítása. Csak két beállítás van: „Névtér” és „Legnagyobb üzenethossz”. Ezek a mezők kötelezők. Az első egy URI a SOAP metódusokhoz történő környezet adásához csökkentve a félreérthetőséget, és a második egy olyan mező, ahol megadhatja a SOAP üzenetek legnagyobb méretét (bájtban), amelyet az OTRS fel fog dolgozni.

4.107. ábra - Webszolgáltatás szolgáltatójának hálózati átvitele (HTTP::SOAP)

Webszolgáltatás szolgáltatójának hálózati átvitele (HTTP::SOAP)


A „HTTP::REST” esetén a beállítás egy kissé bonyolultabb lehet, mivel az dinamikusan nő minden beállított műveletnél az „Útvonal leképezés a <Műveletnév> művelethez:” és az „Érvényes kérési módszerek a <Műveletnév> művelethez:” beállítások hozzáadásával a „Legnagyobb üzenethossz:” és az „Életben tartás küldése:” alapértelmezett átviteli beállításokhoz.

  • Útvonal leképezés a „<Műveletnév>” művelethez:

    Ebben a beállításban egy erőforrás útvonala van beállítva. Ezt az útvonalat a webszolgáltatás igényei szerint kell meghatározni figyelembe véve, hogy az útvonal a HTTP kérési módszerrel együtt határozza meg a végrehajtandó általános felületi műveletet.

    Az útvonal tartalmazhat változókat „:<Változónév>” formájában. Minden útvonalszöveg, amely megfelel a változónév pozícióján, hozzá lesz adva a kérés hasznos terhéhez az ebben a beállításban meghatározott változónév használatával.

    Példák:

    Útvonal leképezés: /Eroforras

    • Érvényes kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras?Param1=Egy

    • Érvénytelen kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras?Param1=Egy

    Útvonal leképezés: /Eroforras/:ID

    • Érvényes kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1?Param1=Egy

      Mindkét esetben az ID = 1 lesz elküldve a műveletnek a hasznos teher részeként. A második esetben a Param1 = Egy is hozzá lesz adva. A HTTP kérési módszertől függően egyéb paraméterek is hozzá lesznek adva, ha azok JSON szövegként érkeznek a kérés fejlécében.

    • Érvénytelen kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras?Param1=Egy

    Útvonal leképezés: /Eroforras/EgyebEroforras/:ID/:Szin

    • Érvényes kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1/Piros

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/123/Kek?Param1=Egy

      Az első példában ID = 1 és Szin = Piros, míg a másodikban ID = 123 és Szin = Kek.

    • Érvénytelen kérések:

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1

      http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1?Param1=Egy

      Az első példában a „/MasikEroforras” útvonal része, valamint a :Szin változó hiányzik. A második példában csak a :Szin változó hiányzik.

  • Érvényes kérési módszerek a „<Műveletnév>” művelethez:

    A HTTP kérési módszerek az útvonal leképezéssel együtt használandó művelet meghatározásához. Lehetséges lehetőségek: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT és TRACE.

    Teljesen különböző műveletek is megoszthatják pontosan ugyanazt a leképezési útvonalat, de a kérési módszernek egyedinek kell lennie minden egyes műveletnél azért, hogy minden kérésnél helyesen meghatározható legyen a használandó művelet.

4.108. ábra - Webszolgáltatás szolgáltatójának hálózati átvitele (HTTP::REST)

Webszolgáltatás szolgáltatójának hálózati átvitele (HTTP::REST)


Webszolgáltatás művelete

Azokat a tevékenységeket, amelyeket akkor lehet végrehajtani, amikor az OTRS-t szolgáltatóként használja, „Művelteknek” hívják. Minden művelet egy vezérlőhöz tartozik. A vezérlők műveletek vagy meghívók gyűjteményei. Normális esetben az azonos vezérlőtől származó műveleteknek hasonló beállításokra van szükségük, és ugyanazon a beállítási párbeszédablakon osztoznak. Azonban az egyes műveleteknek lehetnek független beállítási párbeszédablakaik is, ha szükséges.

A név, a leírás, a háttérprogram és a leképezések azok a mezők, amelyek normális esetben minden egyes műveletnél megjelennek, de egyéb speciális mezők jelenhetnek meg a nem alapértelmezett beállítási párbeszédablakokban, hogy teljesítsék a művelet különleges szükségleteit.

Normális esetben két leképezés-beállítási szakasz van minden egyes műveletnél: egy a bejövő adatokhoz, és egy másik a kimenő adatokhoz. Különböző leképezési típusokat (háttérprogramokat) választhat minden egyes leképezési irányhoz, mivel a beállításaik függetlenek egymástól, valamint függetlenek a művelet háttérprogramjától is. A normál és leggyakoribb gyakorlat az, hogy a művelet ugyanazt a leképezési típust használja mindkét esetben (fordított beállítással). A teljes leképezési beállítás külön képernyőn végezhető el, amely a leképezési típustól függ.

A művelet háttérprogramja előre ki van töltve és nem szerkeszthető. Akkor fogja látni ezt a paramétert, amikor kiválasztja a műveletet a webszolgáltatás szerkesztési képernyőjén. Ez a mező csak tájékoztató.

A képernyő bal oldalán lévő művelet oszlopban a következő lehetőségei vannak: „Vissza a webszolgáltatáshoz” (az összes változtatás eldobása a legutóbbi mentés óta) és „Törlés”. Ha az utóbbira kattint, akkor egy párbeszédablak fog megnyílni, és azt fogja kérdezni, hogy el szeretné-e távolítani a műveletet. Kattintson a „Törlés” gombra a művelet és annak beállításai eltávolításának megerősítéséhez, vagy a „Mégse” gombra a törlés párbeszédablak bezárásához.

4.109. ábra - Webszolgáltatás művelete

Webszolgáltatás művelete


Webszolgáltatás kérelmezőjének hálózati átvitele

A hálózati átvitel beállítása a kérelmezőnél hasonló a szolgáltatónál lévő beállításhoz. A kérelmező „HTTP::SOAP” hálózati átvitelénél több beállítandó mező található.

A „Végpont” (a távoli rendszer webszolgáltatás felületének URI-ja a kérések fogadásához) és a „Névtér” mezőktől eltekintve, amelyek kötelező mezők, a következőket is megadhatja:

  • Kódolás (mint például utf-8, latin1, iso-8859-1, cp1250, stb.) a SOAP üzeneteknél.

  • SOAPAction fejléc: ezt egy üres vagy kitöltött SOAPAction fejléc küldéséhez használhatja. Állítsa „Nem” értékre, és a SOAPAction fejléc a SOAP üzenetnél egy üres szöveg lesz, vagy állítsa „Igen” értékre a SOAP művelet Névtér#Művelet formában történő elküldéséhez, és határozza meg az elválasztót (tipikusan „/” a .Net webszolgáltatásoknál és „#” REST esetén).

  • Hitelesítés: a hitelesítési mechanizmus beállításához. Állítsa „-” értékre, hogy semmilyen hitelesítést se használjon, vagy válasszon egyet a listából, és meg fog jelenni a részletek mező.

Megjegyzés

Jelenleg csak a „BasicAuth” (HTTP) hitelesítési mechanizmus van megvalósítva. A távoli rendszer beállításától függően eldöntheti, hogy használja-e vagy sem. Ha használja, akkor meg kell adnia a felhasználónevet és jelszót a távoli rendszerhez való hozzáféréshez.

Figyelem

Ha a hitelesítéshez megad egy jelszót, akkor miután exportálja a webszolgáltatást egy YAML-fájlba, ez a jelszó fel lesz fedve, és egyszerű szöveges formátumban lesz kiírva a YAML-fájlon belül. Legyen tudatában ennek, és tegye meg az óvintézkedéseket, ha szükséges.

4.110. ábra - Webszolgáltatás kérelmezőjének hálózati átvitele (HTTP::SOAP)

Webszolgáltatás kérelmezőjének hálózati átvitele (HTTP::SOAP)


A HTTP::REST esetén ez a beállítás is dinamikusan nő a „Vezérlő leképezés a <Meghívónév> meghívóhoz:” és az „Érvényes kérési parancsok a <Meghívónév> meghívóhoz:” beállításoknak az egyes meghívásokhoz való hozzáadásától függően. A hitelesítés és az SSL beállítások hasonlóak a HTTP::SOAP szakaszban lévőkhöz.

  • Gép

    A távoli rendszer gépneve vagy IP-címe és portja. Ha nincs port megadva, akkor a 80-as portot használja alapértelmezetten.

  • Vezérlő leképezés a „<Meghívónév>” meghívóhoz:

    Ebben a beállításban egy erőforrás útvonala van beállítva. Ezt az útvonalat a távoli webszolgáltatás igényei szerint kell meghatározni, és követni kell annak meghatározását.

    Az útvonal tartalmazhat változókat „:<Változónév>” formájában. Minden változónév, amely illeszkedik az (elküldendő) jelenlegi adatokra, ki lesz cserélve a megfelelő adatértékkel. Ezek az illesztett változónevek és értékek el lesznek távolítva a jelenlegi adatokból. A HTTP kérési parancstól függően a megmaradó adatok elküldhetők JSON-szövegként a kérés törzsében, vagy lekérdezési paraméterekként az URI-n belül.

    Példák:

    A következő adatoknál: Valtozo1 = Egy, Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy.

    Vezérlő leképezés: /Eroforras

    • A cserék után:

      /Eroforras

    • Megmaradó adatok:

      Valtozo1 = Egy, Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy

    Vezérlő leképezés: /Eroforras/:Valtozo1

    • A cserék után:

      /Eroforras/Egy

    • Megmaradó adatok:

      Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy

    Vezérlő leképezés: /Eroforras/:Valtozo1?Param1=:Valtozo2&Valtozo3=:Valtozo3

    • A cserék után:

      /Eroforras/Egy?Param1=Kettő&Valtozo3=Három

    • Megmaradó adatok:

      Valtozo4 = Négy

  • Érvényes kérési parancsok a „<Meghívónév>” meghívóhoz:

    Ez határozza meg a használandó HTTP kérési módszert, a lehetséges lehetőségek: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT és TRACE. Ha nincs parancs kiválasztva, akkor az alapértelmezett parancsot használja.

  • Alapértelmezett parancs

    Tartalékként van használva a meghatározott kérési parancs nélküli összes meghívónál.

4.111. ábra - Webszolgáltatás kérelmezőjének hálózati átvitele (HTTP::REST)

Webszolgáltatás kérelmezőjének hálózati átvitele (HTTP::REST)


Webszolgáltatás meghívója

Azokat a tevékenységeket, amelyeket akkor lehet végrehajtani, amikor az OTRS-t kérelmezőként használja, „Meghívóknak” hívják. Minden meghívó egy vezérlőhöz tartozik (a vezérlők műveletek vagy meghívók gyűjteményei). Általában az azonos vezérlőtől származó meghívóknak hasonló beállításokra van szükségük, és ugyanazon a beállítási párbeszédablakokon osztoznak. Az egyes meghívóknak lehetnek független beállítási párbeszédablakaik is, ha szükséges.

A név, a leírás, a háttérprogram és a leképezések azok a mezők, amelyek normális esetben minden egyes meghívónál megjelennek. Továbbá az eseményaktiválók listája és egyéb speciális mezők jelenhetnek meg a nem alapértelmezett beállítási párbeszédablakokban, hogy teljesítsék a meghívó speciális szükségleteit.

Normális esetben két leképezés-beállítási szakasz van minden egyes meghívónál: egy a bejövő adatokhoz, és egy másik a kimenő adatokhoz. Különböző leképezési típusokat (háttérprogramokat) választhat minden egyes leképezési irányhoz, mivel a beállításaik függetlenek egymástól, valamint függetlenek a meghívó háttérprogramjától is. A normál és leggyakoribb gyakorlat az, hogy a meghívó ugyanazt a leképezési típust használja mindkét esetben, fordított beállítással. A teljes leképezési beállítás külön képernyőn végezhető el, amely a leképezési típustól függ.

A meghívó háttérprogramja előre ki van töltve és nem szerkeszthető. Akkor fogja látni ezt a paramétert, amikor kiválasztja a meghívót a webszolgáltatás szerkesztési képernyőjén. Ez a mező csak tájékoztató.

Az eseményaktiválók az OTRS-en belüli események, mint például „TicketCreate”, „ArticleSend”, stb. Ezek szerepelhetnek aktiválókként a meghívó végrehajtásához. Minden meghívónak legalább egy regisztrált eseményaktiválóval kell rendelkeznie, különben a meghívó hasznavehetetlen lesz, mert sosem lesz meghívva. Az eseményaktiválók aszinkron tulajdonsága határozza meg, hogy az OTRS folyamat fogja-e kezelni a meghívót, vagy hogy az OTRS démonra lesz-e delegálva.

Megjegyzés

Az OTRS démon egy külön folyamatkészlet, amely feladatokat hajt végre a háttérben. Ennek használatával maga az OTRS folyamat nem lesz érintett, ha a távoli rendszernek hosszú ideig tart válaszolni, ha nem érhető el, vagy hálózati problémák vannak. Ha nem használja az OTRS démont, akkor a webszolgáltatások használata lelassíthatja vagy válaszképtelenné teheti az OTRS keretrendszert. Ezért erősen ajánlott az aszinkron eseményaktiválók használata, amilyen gyakran csak lehetséges.

Egy eseményaktiváló hozzáadásához először válassza ki az eseménycsaládot az első listából, majd az eseménynevet a második listából, ezután állítsa be az aszinkron tulajdonságot (ha nincs bejelölve, akkor az azt jelenti, hogy az eseményaktiváló nem lesz aszinkron), és végül kattintson a plusz gombra. Egy új eseményaktiváló lesz létrehozva, és figyelni fog a meghívó „Eseményaktiválók” listáján.

Egy eseményaktiváló törléséhez egyszerűen keresse meg a törlendő eseményaktiválót az „Eseményaktiválók” listájában, és kattintson a kuka ikonra a sor végén. Ez meg fog nyitni egy párbeszédablakot, amely azt kérdezi, hogy biztosan törölni szeretné-e az eseményaktiválót. Kattintson a „Törlés” gombra az eseményaktiváló eltávolításához a listából, vagy a „Mégse” gombra a párbeszédablak bezárásához.

A képernyő bal oldalán lévő művelet oszlopban a következő lehetőségei vannak: „Vissza a webszolgáltatáshoz” (az összes változtatás eldobása a legutóbbi mentés óta) és „Törlés”. Ha az utóbbira kattint, akkor egy párbeszédablak fog felbukkanni, és azt fogja kérdezni, hogy el szeretné-e távolítani a meghívót. Kattintson a „Törlés” gombra a meghívó és annak beállításai eltávolításának megerősítéséhez, vagy a „Mégse” gombra a törlés párbeszédablak bezárásához.

4.112. ábra - Webszolgáltatás meghívója

Webszolgáltatás meghívója


Webszolgáltatás leképezése

Vannak olyan esetek, ahol át kell alakítania az adatokat az egyik formátumról egy másik (adatszerkezet leképezése vagy megváltoztatása), mert normális esetben egy webszolgáltatást arra használnak, hogy kölcsönhatásba lépjen egy távoli rendszerrel, amely nagyon valószínű, hogy nem egy másik OTRS rendszer és/vagy nem tudja megérteni az OTRS adatszerkezeteit és értékeit. Ezekben az esetekben néhány vagy az összes adatot meg kell változtatni, és néha még az értékek (kulcsok) neveit is, vagy akár a teljes szerkezetet annak érdekében, hogy egyezzen a másik végen elvárt adatokkal. A feladat végrehajtásához van jelen az általános felület leképező rétege.

Minden egyes távoli rendszernek saját adatszerkezete van, valamint lehetséges új leképezőmodulok létrehozása minden esetre (például van egy személyre szabott leképezőmodul az OTRS keretrendszerrel szállított SAP megoldáskezelőhöz), de ez nem mindig szükséges. A Mapping::Simple modulnak le kell fednie a leképezési szükségletek legtöbbjét.

Megjegyzés

Amikor a Mapping::Simple nem fedi le egy webszolgáltatás összes leképezési szükségletét, akkor létre kell hozni egy új leképezőmodult. Ha többet szeretne megtudni arról, hogy hogyan hozhatók létre új leképezőmodulok, akkor nézzen utána az OTRS fejlesztői kézikönyvében.

Ez a modul alkalmat ad arra, hogy alapértelmezett értékeket állítson be az egyes kulcsok vagy értékek leképezéséhez a teljes kommunikációs adatoknál.

A képernyő elején egy általános szakaszt fog látni, ahol azokat az alapértelmezett szabályokat állíthatja be, amelyeket alkalmazni kell az összes leképezetlen kulcsnál és értéknél. Három lehetőség érhető el, ezek a lehetőségek vannak alább felsorolva:

  • Megtartás (változatlanul hagyás): semmilyen módon sem nyúl a kulcsokhoz vagy értékekhez.

  • Mellőzés (kulcs/érték pár eldobása): amikor ezt a kulcson alkalmazzák, akkor törli a kulcsot és az értéket, mert amikor egy kulcs törlődik, akkor annak következtében a hozzárendelt érték is törölve lesz. Amikor ezt az értéken alkalmazzák, akkor csak az érték törlődik megtartva a kulcsot, amely most már egy üres értékhez lesz hozzárendelve.

  • Leképezés (a megadott kulcs vagy érték használata alapértelmezettként): egy meghatározott leképezési szabály nélküli összes kulcs és/vagy érték ezt fogja alapértelmezettként használni. Amikor ezt a lehetőséget választja, akkor egy új szövegmező fog megjelenni az alapértelmezett beállításához.

A „+” gombra kattintva az új kulcstérképnél egy új dobozt fog megjeleníteni egy egyedülálló leképezési beállításhoz. Annyi kulcsleképezést adhat hozzá, amennyi szükséges. Egyszerűen kattintson ismét a „+” gombra, és egy új leképezési doboz fog megjelenni a meglévő alatt. A leképezési dobozokból határozhat meg egy leképezést egy egyedüli kulcshoz a következő lehetőségekkel:

  • Pontos érték(ek): a régi kulcsszöveg meg lesz változtatva egy újra, ha a régi kulcs pontosan egyezik.

  • Reguláris kifejezés: a kulcsszöveg le lesz cserélve egy reguláris kifejezési szabályt követve.

Az új értékleképezés „+” gombjának megnyomása egy új sort fog megjeleníteni egy értékleképezéshez. Itt is ugyanazokkal a lehetőségekkel lehetséges szabályok meghatározása az egyes leképezendő értékekhez mint a kulcsleképezésnél (pontos érték vagy reguláris kifejezés). Annyi értéket adhat a leképezéshez, amennyi szükséges, és ha törölni szeretné az egyiküket, akkor kattintson a „-” gombra az egyes leképezési értékek sorában.

A teljes kulcsleképezési szakasz (doboz) törlése is lehetséges. Egyszerűen nyomja meg az egyes dobozok jobb felső sarkában található „-” gombot annál a doboznál, amelyet törölni szeretne.

Ha egy teljes leképezési beállítás törlésére van szüksége: menjen vissza a megfelelő művelet vagy meghívó képernyőjére, keresse meg azt a leképezési irányt, amelyet korábban kiválasztott, és állítsa az értékét „-” értékre, majd mentse el a beállítást a változtatások alkalmazásához.

4.113. ábra - Webszolgáltatás leképezése

Webszolgáltatás leképezése


Webszolgáltatás parancssori felülete

A bin/otrs.Console.pl Admin::WebService::* parancsokat azért fejlesztették ki, hogy alapvető, de gyors és hatékony eszközöket hozzanak létre a webszolgáltatás beállításaival végzett munkához. A következő műveletek végrehajtásához adnak képességet:

  • Hozzáadás: webszolgáltatások létrehozásához egy YAML-fájl használatával beállítási forrásként.

  • Frissítés: egy meglévő webszolgáltatás megváltoztatásához. A beállítások egy eltérő vagy módosított YAML-fájl használatával változtathatók meg.

  • Kiírás: a jelenlegi webszolgáltatás beállításainak mentése egy fájlba.

  • Listázás: a rendszeren regisztrált összes webszolgáltatás teljes listájának lekéréséhez.

  • Törlés: egy webszolgáltatás törléséhez a rendszerről. Legyen óvatos, amikor használja, mert ez a művelet nem vonható vissza.

Példa: Egy új webszolgáltatás-beállítás létrehozása:

shell> bin/otrs.Console.pl Admin::WebService::Add --name <webservice_name> --source-path /útvonal/a/yaml/fájlhoz
        

Webszolgáltatás-beállítás

A tervezésétől kezdve úgy gondolták ki a webszolgáltatásokat, hogy hordozhatók legyenek az egyik OTRS rendszerről a másikra, például egy teszt vagy fejlesztői környezetből egy produktív rendszerre. Ezért szükség volt arra, hogy egyszerű módja legyen a webszolgáltatás beállításának kinyeréséhez az adatbázisból, és annak importálásához egy másikba. A feladat végrehajtásához az általános felület YAML-fájlokat használ a webszolgáltatások beállításainak alapjaként.

Miért YAML? A YAML egy olyan jelölőnyelv, amelyet úgy terveztek, hogy emberbarát módon legyen olvasható és írható (könnyebb megérteni a JSON formátumnál), nem rendelkezik az XML-szerű numerikus címkék néhány korlátozásával, nyílt, szabványosított, és teljesen elegendő a teljes webszolgáltatás beállításának eltárolásához.

Megjegyzés

Ha többet szeretne megtudni a YAML formátumról, akkor látogassa meg a http://www.yaml.org/ oldalt.

A következő egy webszolgáltatás beállítófájl példája YAML-formátumban:

---
Debugger:
  DebugThreshold: debug
Description: Ez egy példa egy webszolgáltatás beállítására
Provider:
  Operation:
    CloseIncident:
      Description: Ez egy próba művelet
      MappingInbound: {}
      MappingOutbound: {}
      RemoteSystemGuid: ''
      Type: Test::Test
    Test:
      Description: Ez egy próba művelet
      MappingInbound:
        Config:
          KeyMapDefault:
            MapTo: ''
            MapType: Keep
          KeyMapExact:
            Prio: Priority
          ValueMap:
            Priority:
              ValueMapExact:
                Critical: 5 Very High
                Information: 1 Very Low
                Warning: 3 Normal
          ValueMapDefault:
            MapTo: 3 Normal
            MapType: MapTo
        Type: Simple
      MappingOutbound:
        Config:
          KeyMapDefault:
            MapTo: ''
            MapType: Ignore
          KeyMapExact:
            Priority: Prio
          ValueMap:
            Prio:
              ValueMapExact:
                1 Very Low: Information
                3 Normal: Warning
                5 Very High: Critical
          ValueMapDefault:
            MapTo: ''
            MapType: Ignore
        Type: Simple
      Type: Test::Test
  Transport:
    Config:
      MaxLength: 10000000
      NameSpace: http://www.example.com/actions
    Type: HTTP::SOAP
RemoteSystem: remote.system.description.example.com
Requester:
  Invoker:
    Test:
      Description: Ez egy próba meghívó
      Events:
        - Asynchronous: 1
          Event: TicketCreate
        - Asynchronous: 0
          Event: ArticleUpdate
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Test::Test
  Transport:
    Config:
      Authentication:
        Password: '*******'
        Type: BasicAuth
        User: otrs
      Encoding: utf-8
      Endpoint: http://www.example.com:8080/endpoint
      NameSpace: http://www.example.com/actions
      SOAPAction: Yes
      SOAPActionSeparator: '#'
    Type: HTTP::SOAP
            
        

Beállítási részletek

Általános
  • Leírás (Description): egy rövid szöveg, amely leírja a webszolgáltatást.

  • Távoli rendszer (RemoteSystem): a távoli rendszer rövid leírása.

  • Hibakereső (Debugger): egy konténer a hibakereső beállításaihoz.

  • Szolgáltató (Provider): egy konténer a szolgáltató beállításaihoz.

  • Kérelmező (Requester): egy konténer a kérelmező beállításaihoz.

Hibakereső
  • Hibakeresési küszöbszint (DebugThreshold): a hibakereső szintje.

    Lehetséges értékek

    • hibakeresés (debug): az összes napló eltárolásra kerül az adatbázisban.

    • információ (info): az információ, az értesítés és a hiba szintek naplói kerülnek eltárolásra az adatbázisban.

    • értesítés (notice): az értesítés és a hiba szintek naplói kerülnek eltárolásra az adatbázisban.

    • hiba (error): csak a hiba szintek naplói kerülnek eltárolásra az adatbázisban.

Szolgáltató
  • Művelet (Operation): egy konténer az egyes műveleti beállításokhoz.

  • Átvitel (Transport): egy konténer a szolgáltató hálózati átvitelének beállításaihoz.

Művelet
  • <Műveletnév>: Egyedi név a művelethez, egy konténer a saját műveletének beállításaihoz (0..n számosságú, de nem kettőzött).

<Műveletnév>

Ez a szakasz a „Test::Test” típusból való műveleteken alapul. Az egyéb műveletek több vagy különböző beállításokat tartalmazhatnak.

  • Leírás (Description): egy rövid szöveg, amely leírja a műveletet.

  • Bejövő leképezés (MappingInbound): egy konténer a bejövő kérésadatok leképezési beállításaihoz.

  • Kimenő leképezés (MappingOutbound): egy konténer a kimenő válaszadatok leképezési beállításaihoz.

  • Típus (Type): a művelet háttérprogramja Vezérlő::Művelet formátumban.

Bejövő leképezés

Ez a szakasz a „Simple” típusból való leképezéseken alapul. Az egyéb leképezések több vagy különböző beállításokat tartalmazhatnak.

  • Beállítás (Config): egy konténer ezekhez a leképezési beállításokhoz.

  • Típus (Type): a leképező háttérprogram.

Beállítás (Config)
  • Alapértelmezett kulcsleképezés (KeyMapDefault): egy konténer az összes nem leképezett kulcs beállításaihoz.

  • Alapértelmezett értékleképezés (ValueMapDefault): egy konténer az összes nem leképezett érték beállításaihoz.

  • Pontos kulcsleképezés (KeyMapExact): egy konténer az összes pontos kulcsleképezéshez (0..1 számosságú).

  • Reguláris kifejezéses kulcsleképezés (KeyMapRegEx): egy konténer az összes reguláris kifejezéses kulcsleképezéshez (0..1 számosságú).

  • Értékleképezés (ValueMap): egy konténer az összes értékleképezéshez (0..1 számosságú).

Alapértelmezett kulcsleképezés
  • Leképezés (MapTo): a használandó új érték (csak akkor alkalmazható, ha a leképezés típusa „MapTo” értékre van állítva).

  • Leképezés típusa (MapType): a leképezés szabálya.

    Lehetséges értékek

    • Megtartás (Keep): változatlanul hagyás.

    • Mellőzés (Ignore): eldobás.

    • Leképezés (MapTo): megváltoztatás a „MapTo” értékére.

Alapértelmezett értékleképezés

Hasonló az alapértelmezett kulcsleképezéshez.

Pontos kulcsleképezés
  • <régikulcs>: <újkulcs> (0..n számosságú, de nem kettőzött).

Reguláris kifejezéses kulcsleképezés
  • <régikulcs(RegEx)>: <újkulcs> (0..n számosságú, de nem kettőzött).

Értékleképezés
  • <újkulcs>: egy konténer ennek az új kulcsnak az értékleképezéséhez (a számosság a pontos kulcsleképezésből és a reguláris kifejezéses kulcsleképezésből származó új kulcsoktól függ).

<újkulcs>
  • Pontos értékleképezés (ValueMapExact): egy konténer az összes pontos értékleképezéshez (0..1 számosságú).

  • Reguláris kifejezéses értékleképezés (ValueMapRegEx): egy konténer az összes reguláris kifejezéses értékleképezéshez (0..1 számosságú).

Pontos értékleképezés
  • <régiérték>: <újérték> (0..n számosságú, de nem kettőzött).

Reguláris kifejezéses értékleképezés
  • <régiérték(RegEx)>: <újérték> (0..n számosságú, de nem kettőzött).

Kimenő leképezés

Ugyanaz mint a bejövő leképezés.

Átvitel

Ez a szakasz a szolgáltató HTTP::SOAP hálózati átvitelén alapul. Az egyéb átvitelek több vagy különböző beállításokat tartalmazhatnak.

  • Beállítás (Config): egy konténer az adott hálózati átvitel konfigurációs beállításaihoz.

  • Típus (Type): a szolgáltató hálózati átviteli háttérprogramja.

Beállítás (Config)
  • Legnagyobb hossz (MaxLength): az OTRS által egy SOAP üzenetben beolvasandó legnagyobb hossz bájtban.

  • Névtér (NameSpace): egy URI, amely egy környezetet ad az összes olyan művelethez, amely ehhez a webszolgáltatáshoz tartozik.

Kérelmező
  • Meghívó (Invoker): egy konténer az egyes kérelmezők beállításokhoz.

  • Átvitel (Transport): egy konténer a kérelmező hálózati átvitelének beállításaihoz.

Meghívó
  • <Meghívónév>: Egyedi név a meghívóhoz, egy konténer a saját meghívójának beállításaihoz (0..n számosságú, de nem kettőzött).

<Meghívónév>

Ez a szakasz a „Test::Test” típusból való meghívókon alapul. Az egyéb meghívók több vagy különböző beállításokat tartalmazhatnak.

  • Leírás (Description): egy rövid szöveg, amely leírja a meghívót.

  • Események (Events): egy konténer az eseményaktiváló beállításainak névtelen listájához.

  • Bejövő leképezés (MappingInbound): egy konténer a bejövő válaszadatok leképezési beállításaihoz.

  • Kimenő leképezés (MappingOutbound): egy konténer a kimenő kérésadatok leképezési beállításaihoz.

  • Típus (Type): a meghívó háttérprogramja Vezérlő::Meghívó formátumban.

Események
  • Listaelem: (0..n számosságú).

    • Aszinkron (Asynchronous): annak beállításához, hogy a meghívó végrehajtása delegálásra kerüljön-e az OTRS démonhoz.

      Lehetséges értékek

      • 0: nem kezeli az OTRS démon.

      • 1: az OTRS démon kezeli.

    • Esemény (Event): az eseményaktiváló neve.

      Lehetséges értékek (a jegyeseményeknél)

      • TicketCreate

      • TicketDelete

      • TicketTitleUpdate

      • TicketUnlockTimeoutUpdate

      • TicketQueueUpdate

      • TicketTypeUpdate

      • TicketServiceUpdate

      • TicketSLAUpdate

      • TicketCustomerUpdate

      • TicketPendingTimeUpdate

      • TicketLockUpdate

      • TicketArchiveFlagUpdate

      • TicketStateUpdate

      • TicketOwnerUpdate

      • TicketResponsibleUpdate

      • TicketPriorityUpdate

      • HistoryAdd

      • HistoryDelete

      • TicketAccountTime

      • TicketMerge

      • TicketSubscribe

      • TicketUnsubscribe

      • TicketFlagSet

      • TicketFlagDelete

      • TicketSlaveLinkAdd

      • TicketSlaveLinkDelete

      • TicketMasterLinkDelete

      Lehetséges értékek (a bejegyzéseseményeknél)

      • ArticleCreate

      • ArticleUpdate

      • ArticleSend

      • ArticleBounce

      • ArticleAgentNotification

      • ArticleCustomerNotification

      • ArticleAutoResponse

      • ArticleFlagSet

      • ArticleFlagDelete

Bejövő leképezés

Ugyanaz mint a művelet bejövő leképezése.

Kimenő leképezés

Ugyanaz mint a művelet bejövő leképezése.

Átvitel

Ez a szakasz a kérelmező HTTP::SOAP hálózati átvitelén alapul. Az egyéb átvitelek több vagy különböző beállításokat tartalmazhatnak.

  • Beállítás (Config): egy konténer az adott hálózati átvitel konfigurációs beállításaihoz.

  • Típus (Type): a kérelmező hálózati átviteli háttérprogramja.

Beállítás (Config)
  • Hitelesítés (Authentication): egy konténer a hitelesítés beállításaihoz.

  • Kódolás (Encoding): a SOAP üzenetkérés kódolása.

  • Végpont (Endpoint): a távoli kiszolgáló webszolgáltatásának URI-ja az OTRS kérések elfogadásához.

  • Névtér (NameSpace): egy URI, amely egy környezetet ad az összes olyan meghívóhoz, amely ehhez a webszolgáltatáshoz tartozik.

  • SOAP művelet (SOAPAction): egy üres vagy kitöltött SOAP művelet fejléc küldéséhez a SOAP üzenetben („<Névtér> <Elválasztó> <Művelet>” formátumban).

    Lehetséges értékek

    • Igen (Yes): egy kitöltött SOAP művelet fejléc küldéséhez.

    • Nem (No): egy üres SOAP művelet fejléc küldéséhez.

  • SOAP művelet elválasztó (SOAPActionSeparator): egy kitöltött SOAP művelet fejléc <Elválasztójának> beállításához.

    Lehetséges értékek

    • '/': a .net webszolgáltatásoknál használják.

    • '#': az összes REST webszolgáltatásnál ezt használják.

Hitelesítés
  • Felhasználó (User): a kiváltságos felhasználó neve, akinek hozzáférése van a távoli webszolgáltatáshoz.

  • Jelszó (Password): a kiváltságos felhasználó jelszava egyszerű szövegként.

  • Típus (Type): a hitelesítés típusa.

Csatlakozók

Egy csatlakozó lényegében olyan tevékenységek halmaza, amelyeket vagy műveleteknek hívnak, ha az OTRS egy webszolgáltatás szolgáltatójaként működik, vagy meghívóknak hívnak, ha az OTRS egy webszolgáltatás kérelmezőjeként működik. De tartalmazhat speciális leképezéseket vagy átviteleket is.

Egy csatlakozónak lehetnek csak műveletei, csak meghívói vagy mindkettő. Egy csatlakozó akár más csatlakozók részeit is használhatja, mint például a leképezések vagy átvitelek, ha azok nem sajátosak annál a csatlakozónál, amely megpróbálja megvalósítani azokat.

Más szavakkal egy csatlakozó nincs korlátozva csak a vezérlő rétegére, hanem kiterjeszthető az adatleképezés vagy a hálózati átvitel rétegekre is, ha szükséges.

Az általános felület moduláris tervezésének köszönhetően egy csatlakozó bővítményként látható. Ez azt jelenti, hogy csatlakozók hozzáadásával az általános felület képességei kiterjeszthetők a következők használatával: OTRS funkcióbővítmények, egyéni OTRS modulok, harmadik féltől származó modulok, és így tovább.

Csomagolt csatlakozók

Az OTRS ezen verziója a következő csatlakozókat tartalmazza használatra készen:

  • Munkamenet

  • Jegy

Munkamenet csatlakozó

Ez a csatlakozó képes egy olyan érvényes munkamenet-azonosító létrehozására, amely bármely egyéb műveletben használható.

Biztosítja:

  • Műveletek:

    • SessionCreate

Műveletek
SessionCreate

Egy új érvényes munkamenet-azonosítót hoz létre egyéb műveletekben történő használatra más csatlakozókból, mint például TicketCreate.

Megjegyzés

A munkamenet-azonosító használatához egyéb műveletekben más csatlakozókból az szükséges, hogy a művelet megvalósítsa a munkamenet-azonosító szerinti hitelesítést. Az összes többi csomagolt művelet képes egy érvényes munkamenet-azonosító elfogadására hitelesítési módszerként.

Lehetséges jellemzők:

                            
      <SessionCreate>
         <!--Ezen a szinten a következő 2 elem KÖTELEZŐ VÁLASZTÁSA van-->
         <!--Választható:-->
         <UserLogin>?</UserLogin>
         <!--Választható:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Választható:-->
         <Password>?</Password>
      </SessionCreate>
                            
                        

Jegy csatlakozó

Ez a csatlakozó látja el az alapvető funkcionalitást a jegyekkel való kölcsönhatáshoz.

Biztosítja:

  • Műveletek:

    • TicketCreate

    • TicketUpdate

    • TicketGet

    • TicketSearch

Műveletek
TicketCreate

Egy felületet biztosít egy jegy létrehozásához az OTRS-ben. Egy jegynek tartalmaznia kell egy bejegyzést, és tartalmazhat néhány mellékletet, valamint az összes meghatározott dinamikus mező is beállítható a TicketCreate műveletnél.

Lehetséges jellemzők:

                            
      <TicketCreate>
         <!--Ezen a szinten a következő 3 elem KÖTELEZŐ VÁLASZTÁSA van-->
         <!--Választható:-->
         <UserLogin>?</UserLogin>
         <!--Választható:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Választható:-->
         <SessionID>?</SessionID>
         <!--Választható:-->
         <Password>?</Password>
         <Ticket>
            <Title>?</Title>
            <!--Ezen a szinten a következő 2 elem KÖTELEZŐ VÁLASZTÁSA van-->
            <!--Választható:-->
            <QueueID>?</QueueID>
            <!--Választható:-->
            <Queue>?</Queue>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <TypeID>?</TypeID>
            <!--Választható:-->
            <Type>?</Type>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ServiceID>?</ServiceID>
            <!--Választható:-->
            <Service>?</Service>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <SLAID>?</SLAID>
            <!--Választható:-->
            <SLA>?</SLA>
            <!--Ezen a szinten a következő 2 elem KÖTELEZŐ VÁLASZTÁSA van-->
            <!--Választható:-->
            <StateID>?</StateID>
            <!--Választható:-->
            <State>?</State>
            <!--Ezen a szinten a következő 2 elem KÖTELEZŐ VÁLASZTÁSA van-->
            <!--Választható:-->
            <PriorityID>?</PriorityID>
            <!--Választható:-->
            <Priority>?</Priority>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <OwnerID>?</OwnerID>
            <!--Választható:-->
            <Owner>?</Owner>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ResponsibleID>?</ResponsibleID>
            <!--Választható:-->
            <Responsible>?</Responsible>
            <CustomerUser>?</CustomerUser>
            <!--Választható:-->
            <CustomerID>?</CustomerID>
            <!--Választható:-->
            <PendingTime>
               <!--Ezen a szinten a következő és egyéb 5 elem VÁLASZTÁSA van-->
               <Diff>?</Diff>
               <Year>?</Year>
               <Month>?</Month>
               <Day>?</Day>
               <Hour>?</Hour>
               <Minute>?</Minute>
            </PendingTime>
         </Ticket>
         <Article>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ArticleTypeID>?</ArticleTypeID>
            <!--Választható:-->
            <ArticleType>?</ArticleType>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <SenderTypeID>?</SenderTypeID>
            <!--Választható:-->
            <SenderType>?</SenderType>
            <!--Választható:-->
            <From>?</From>
            <Subject>?</Subject>
            <Body>?</Body>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ContentType>?</ContentType>
            <Charset>?</Charset>
            <MimeType>?</MimeType>
            <!--Választható:-->
            <HistoryType>?</HistoryType>
            <!--Választható:-->
            <HistoryComment>?</HistoryComment>
            <!--Választható:-->
            <AutoResponseType>?</AutoResponseType>
            <!--Választható:-->
            <TimeUnit>?</TimeUnit>
            <!--Választható:-->
            <NoAgentNotify>?</NoAgentNotify>
            <!--Nulla vagy több ismétlés:-->
            <ForceNotificationToUserID>?</ForceNotificationToUserID>
            <!--Nulla vagy több ismétlés:-->
            <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID>
            <!--Nulla vagy több ismétlés:-->
            <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID>
         </Article>
         <!--Nulla vagy több ismétlés:-->
         <DynamicField>
            <Name>?</Name>
            <!--1 vagy több ismétlés:-->
            <Value>?</Value>
         </DynamicField>
         <!--Nulla vagy több ismétlés:-->
         <Attachment>
            <Content>cid:61886944659</Content>
            <ContentType>?</ContentType>
            <Filename>?</Filename>
         </Attachment>
      </TicketCreate>
                            
                        

TicketUpdate

A TicketUpdate művelet egy meglévő jegyből történő jellemzők módosításának vagy egy új bejegyzés hozzáadásának a képességét adja hozzá, beleértve a mellékleteket és minden dinamikus mezőt a jegynél és az új bejegyzésnél.

Megjegyzés

Nem szükséges egy új bejegyzést létrehozni egy jegyjellemző módosításához.

Lehetséges jellemzők:

                            
      <TicketUpdate>
         <!--Ezen a szinten a következő 3 elem KÖTELEZŐ VÁLASZTÁSA van-->
         <!--Választható:-->
         <UserLogin>?</UserLogin>
         <!--Választható:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Választható:-->
         <SessionID>?</SessionID>
         <!--Választható:-->
         <Password>?</Password>
         <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
         <TicketID>?</TicketID>
         <TicketNumber>?</TicketNumber>
         <!--Választható:-->
         <Ticket>
            <!--Választható:-->
            <Title>?</Title>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <QueueID>?</QueueID>
            <!--Választható:-->
            <Queue>?</Queue>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <TypeID>?</TypeID>
            <!--Választható:-->
            <Type>?</Type>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ServiceID>?</ServiceID>
            <!--Választható:-->
            <Service>?</Service>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <SLAID>?</SLAID>
            <!--Választható:-->
            <SLA>?</SLA>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <StateID>?</StateID>
            <!--Választható:-->
            <State>?</State>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <PriorityID>?</PriorityID>
            <!--Választható:-->
            <Priority>?</Priority>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <OwnerID>?</OwnerID>
            <!--Választható:-->
            <Owner>?</Owner>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ResponsibleID>?</ResponsibleID>
            <!--Választható:-->
            <Responsible>?</Responsible>
            <!--Választható:-->
            <CustomerUser>?</CustomerUser>
            <!--Választható:-->
            <CustomerID>?</CustomerID>
            <!--Választható:-->
            <PendingTime>
               <!--Ezen a szinten a következő és egyéb 5 elem VÁLASZTÁSA van-->
               <Diff>?</Diff>
               <Year>?</Year>
               <Month>?</Month>
               <Day>?</Day>
               <Hour>?</Hour>
               <Minute>?</Minute>
            </PendingTime>
         </Ticket>
         <!--Választható:-->
         <Article>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ArticleTypeID>?</ArticleTypeID>
            <!--Választható:-->
            <ArticleType>?</ArticleType>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <SenderTypeID>?</SenderTypeID>
            <!--Választható:-->
            <SenderType>?</SenderType>
            <!--Választható:-->
            <From>?</From>
            <Subject>?</Subject>
            <Body>?</Body>
            <!--Ezen a szinten a következő 2 elem VÁLASZTÁSA van-->
            <!--Választható:-->
            <ContentType>?</ContentType>
            <Charset>?</Charset>
            <MimeType>?</MimeType>
            <!--Választható:-->
            <HistoryType>?</HistoryType>
            <!--Választható:-->
            <HistoryComment>?</HistoryComment>
            <!--Választható:-->
            <AutoResponseType>?</AutoResponseType>
            <!--Választható:-->
            <TimeUnit>?</TimeUnit>
            <!--Választható:-->
            <NoAgentNotify>?</NoAgentNotify>
            <!--Nulla vagy több ismétlés:-->
            <ForceNotificationToUserID>?</ForceNotificationToUserID>
            <!--Nulla vagy több ismétlés:-->
            <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID>
            <!--Nulla vagy több ismétlés:-->
            <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID>
         </Article>
         <!--Nulla vagy több ismétlés:-->
         <DynamicField>
            <Name>?</Name>
            <!--1 vagy több ismétlés:-->
            <Value>?</Value>
         </DynamicField>
         <!--Nulla vagy több ismétlés:-->
         <Attachment>
            <Content>cid:166861569966</Content>
            <ContentType>?</ContentType>
            <Filename>?</Filename>
         </Attachment>
      </TicketUpdate>
                            
                        

TicketGet

Ez a művelet egy jegy összes jellemzőjének lekéréséhez használható, beleértve a dinamikus mezőket, az összes bejegyzést és az összes mellékletet, amelyek a jegyhez tartoznak.

Lehetséges jellemzők:

                            
      <TicketGet>
         <!--Ezen a szinten a következő 3 elem KÖTELEZŐ VÁLASZTÁSA van-->
         <!--Választható:-->
         <UserLogin>?</UserLogin>
         <!--Választható:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Választható:-->
         <SessionID>?</SessionID>
         <!--Választható:-->
         <Password>?</Password>
         <!--1 vagy több ismétlés:-->
         <TicketID>?</TicketID>
         <!--Választható:-->
         <DynamicFields>?</DynamicFields>
         <!--Választható:-->
         <Extended>?</Extended>
         <!--Választható:-->
         <AllArticles>?</AllArticles>
         <!--Választható:-->
         <ArticleSenderType>?</ArticleSenderType>
         <!--Választható:-->
         <ArticleOrder>?</ArticleOrder>
         <!--Választható:-->
         <ArticleLimit>?</ArticleLimit>
         <!--Választható:-->
         <Attachments>?</Attachments>
         <!--Választható:-->
         <HTMLBodyAsAttachment>?</HTMLBodyAsAttachment>
      </TicketGet>
                            
                        

TicketSearch

A TicketSearch művelet azon jegyazonosítók listáját adja vissza, amelyek illeszkednek az előre meghatározott feltételekre.

Lehetséges jellemzők:

                            
      <TicketSearch>
         <!--Ezen a szinten a következő 3 elem KÖTELEZŐ VÁLASZTÁSA van-->
         <!--Választható:-->
         <UserLogin>?</UserLogin>
         <!--Választható:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Választható:-->
         <SessionID>?</SessionID>
         <!--Választható:-->
         <Password>?</Password>
         <!--Választható:-->
         <Limit>?</Limit>
         <!--Nulla vagy több ismétlés:-->
         <TicketNumber>?</TicketNumber>
         <!--Nulla vagy több ismétlés:-->
         <Title>?</Title>
         <!--Nulla vagy több ismétlés:-->
         <Queues>?</Queues>
         <!--Nulla vagy több ismétlés:-->
         <QueueIDs>?</QueueIDs>
         <!--Választható:-->
         <UseSubQueues>?</UseSubQueues>
         <!--Nulla vagy több ismétlés:-->
         <Types>?</Types>
         <!--Nulla vagy több ismétlés:-->
         <TypeIDs>?</TypeIDs>
         <!--Nulla vagy több ismétlés:-->
         <States>?</States>
         <!--Nulla vagy több ismétlés:-->
         <StateIDs>?</StateIDs>
         <!--Nulla vagy több ismétlés:-->
         <StateType>?</StateType>
         <!--Nulla vagy több ismétlés:-->
         <StateTypeIDs>?</StateTypeIDs>
         <!--Nulla vagy több ismétlés:-->
         <Priorities>?</Priorities>
         <!--Nulla vagy több ismétlés:-->
         <PriorityIDs>?</PriorityIDs>
         <!--Nulla vagy több ismétlés:-->
         <Services>?</Services>
         <!--Nulla vagy több ismétlés:-->
         <ServiceIDs>?</ServiceIDs>
         <!--Nulla vagy több ismétlés:-->
         <SLAs>?</SLAs>
         <!--Nulla vagy több ismétlés:-->
         <SLAIDs>?</SLAIDs>
         <!--Nulla vagy több ismétlés:-->
         <Locks>?</Locks>
         <!--Nulla vagy több ismétlés:-->
         <LockIDs>?</LockIDs>
         <!--Nulla vagy több ismétlés:-->
         <OwnerIDs>?</OwnerIDs>
         <!--Nulla vagy több ismétlés:-->
         <ResponsibleIDs>?</ResponsibleIDs>
         <!--Nulla vagy több ismétlés:-->
         <WatchUserIDs>?</WatchUserIDs>
         <!--Nulla vagy több ismétlés:-->
         <CustomerID>?</CustomerID>
         <!--Nulla vagy több ismétlés:-->
         <CustomerUserLogin>?</CustomerUserLogin>
         <!--Nulla vagy több ismétlés:-->
         <CreatedUserIDs>?</CreatedUserIDs>
         <!--Nulla vagy több ismétlés:-->
         <CreatedTypes>?</CreatedTypes>
         <!--Nulla vagy több ismétlés:-->
         <CreatedTypeIDs>?</CreatedTypeIDs>
         <!--Nulla vagy több ismétlés:-->
         <CreatedPriorities>?</CreatedPriorities>
         <!--Nulla vagy több ismétlés:-->
         <CreatedPriorityIDs>?</CreatedPriorityIDs>
         <!--Nulla vagy több ismétlés:-->
         <CreatedStates>?</CreatedStates>
         <!--Nulla vagy több ismétlés:-->
         <CreatedStateIDs>?</CreatedStateIDs>
         <!--Nulla vagy több ismétlés:-->
         <CreatedQueues>?</CreatedQueues>
         <!--Nulla vagy több ismétlés:-->
         <CreatedQueueIDs>?</CreatedQueueIDs>
         <!--Nulla vagy több ismétlés:-->
         <DynamicFields>
            <!--Ezen a szinten a következő 6 elem KÖTELEZŐ VÁLASZTÁSA van-->
            <!--Választható:-->
            <Equals>?</Equals>
            <!--Választható:-->
            <Like>?</Like>
            <!--Választható:-->
            <GreaterThan>?</GreaterThan>
            <!--Választható:-->
            <GreaterThanEquals>?</GreaterThanEquals>
            <!--Választható:-->
            <SmallerThan>?</SmallerThan>
            <!--Választható:-->
            <SmallerThanEquals>?</SmallerThanEquals>
         </DynamicFields>
         <!--Választható:-->
         <Ticketflag>
            <!--Választható:-->
            <Seen>?</Seen>
         </Ticketflag>
         <!--Választható:-->
         <From>?</From>
         <!--Választható:-->
         <To>?</To>
         <!--Választható:-->
         <Cc>?</Cc>
         <!--Választható:-->
         <Subject>?</Subject>
         <!--Választható:-->
         <Body>?</Body>
         <!--Választható:-->
         <FullTextIndex>?</FullTextIndex>
         <!--Választható:-->
         <ContentSearch>?</ContentSearch>
         <!--Választható:-->
         <ConditionInline>?</ConditionInline>
         <!--Választható:-->
         <ArticleCreateTimeOlderMinutes>?</ArticleCreateTimeOlderMinutes>
         <!--Választható:-->
         <ArticleCreateTimeNewerMinutes>?</ArticleCreateTimeNewerMinutes>
         <!--Választható:-->
         <ArticleCreateTimeNewerDate>?</ArticleCreateTimeNewerDate>
         <!--Választható:-->
         <ArticleCreateTimeOlderDate>?</ArticleCreateTimeOlderDate>
         <!--Választható:-->
         <TicketCreateTimeOlderMinutes>?</TicketCreateTimeOlderMinutes>
         <!--Választható:-->
         <ATicketCreateTimeNewerMinutes>?</ATicketCreateTimeNewerMinutes>
         <!--Választható:-->
         <TicketCreateTimeNewerDate>?</TicketCreateTimeNewerDate>
         <!--Választható:-->
         <TicketCreateTimeOlderDate>?</TicketCreateTimeOlderDate>
         <!--Választható:-->
         <TicketLastChangeTimeOlderMinutes>?</TicketLastChangeTimeOlderMinutes>
         <!--Választható:-->
         <TicketLastChangeTimeNewerMinutes>?</TicketLastChangeTimeNewerMinutes>
         <!--Választható:-->
         <TicketLastChangeTimeNewerDate>?</TicketLastChangeTimeNewerDate>
         <!--Választható:-->
         <TicketLastChangeTimeOlderDate>?</TicketLastChangeTimeOlderDate>
         <!--Választható:-->
         <TicketChangeTimeOlderMinutes>?</TicketChangeTimeOlderMinutes>
         <!--Választható:-->
         <TicketChangeTimeNewerMinutes>?</TicketChangeTimeNewerMinutes>
         <!--Választható:-->
         <TicketChangeTimeNewerDate>?</TicketChangeTimeNewerDate>
         <!--Választható:-->
         <TicketChangeTimeOlderDate>?</TicketChangeTimeOlderDate>
         <!--Választható:-->
         <TicketCloseTimeOlderMinutes>?</TicketCloseTimeOlderMinutes>
         <!--Választható:-->
         <TicketCloseTimeNewerMinutes>?</TicketCloseTimeNewerMinutes>
         <!--Választható:-->
         <TicketCloseTimeNewerDate>?</TicketCloseTimeNewerDate>
         <!--Választható:-->
         <TicketCloseTimeOlderDate>?</TicketCloseTimeOlderDate>
         <!--Választható:-->
         <TicketPendingTimeOlderMinutes>?</TicketPendingTimeOlderMinutes>
         <!--Választható:-->
         <TicketPendingTimeNewerMinutes>?</TicketPendingTimeNewerMinutes>
         <!--Választható:-->
         <TicketPendingTimeNewerDate>?</TicketPendingTimeNewerDate>
         <!--Választható:-->
         <TicketPendingTimeOlderDate>?</TicketPendingTimeOlderDate>
         <!--Választható:-->
         <TicketEscalationTimeOlderMinutes>?</TicketEscalationTimeOlderMinutes>
         <!--Választható:-->
         <TTicketEscalationTimeNewerMinutes>?</TTicketEscalationTimeNewerMinutes>
         <!--Választható:-->
         <TicketEscalationTimeNewerDate>?</TicketEscalationTimeNewerDate>
         <!--Választható:-->
         <TicketEscalationTimeOlderDate>?</TicketEscalationTimeOlderDate>
         <!--Választható:-->
         <ArchiveFlags>?</ArchiveFlags>
         <!--Nulla vagy több ismétlés:-->
         <OrderBy>?</OrderBy>
         <!--Nulla vagy több ismétlés:-->
         <SortBy>?</SortBy>
         <!--Nulla vagy több ismétlés:-->
         <CustomerUserID>?</CustomerUserID>
      </TicketSearch>
                            
                        

Példák:

Webszolgáltatás-beállítás

A következő egy alap, de teljes webszolgáltatás beállítófájl YAML formátumban az összes jegy csatlakozó művelet használatához SOAP hálózati átvitellel. Azért, hogy használhassa az OTRS-ben, ki kell másolnia a tartalmát, el kell mentenie egy GenericTicketConnectorSOAP.yml nevű fájlba, és importálnia kell az OTRS-be az adminisztrációs panelen lévő Webszolgáltatások képernyőn a „Webszolgáltatás hozzáadása” gombra kattintva az áttekintő képernyőről, majd ezután a „Webszolgáltatás importálása” gombra kattintva a hozzáadás képernyőn.

                    
---
Debugger:
  DebugThreshold: debug
  TestMode: 0
Description: Jegy csatlakozó SOAP példa
FrameworkVersion: 3.4.x git
Provider:
  Operation:
    SessionCreate:
      Description: Létrehoz egy munkamenetet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Session::SessionCreate
    TicketCreate:
      Description: Létrehoz egy jegyet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketCreate
    TicketUpdate:
      Description: Frissít egy jegyet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketUpdate
    TicketGet:
      Description: Lekéri a jegyadatokat
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketGet
    TicketSearch:
      Description: Jegyek keresése
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketSearch
  Transport:
    Config:
      MaxLength: 100000000
      NameSpace: http://www.otrs.org/TicketConnector/
    Type: HTTP::SOAP
RemoteSystem: ''
Requester:
  Transport:
    Type: ''
                    
                

Hasonló példát lehet készíteni a REST hálózati átvitelhez. A REST webszolgáltatások olyan HTTP műveleteket használnak, mint például „POST”, „GET”, „PUT”, „PATCH”, stb. Ezek a műveletek egy erőforrásnak hívott URI-útvonallal együtt határoznak meg egy OTRS általános felület műveletet vagy meghívót (a kommunikációs módszertől függően).

A következő példa a /Session erőforrást használja a SessionCreate műveletnél, a /Ticket erőforrást a TicketSearch és a TicketCreate műveleteknél, valamint a /Ticket/{TicketID} erőforrást a TicketGet és a TicketUpdate műveleteknél (ahol a {TicketID} egy jegy aktuális jegyazonosító értéke, például /Ticket/123). Azért, hogy használhassa az OTRS-ben, ki kell másolnia a tartalmát, el kell mentenie egy GenericTicketConnectorREST.yml nevű fájlba, és importálnia kell az OTRS-be az adminisztrációs panelen lévő Webszolgáltatások képernyőn a „Webszolgáltatás hozzáadása” gombra kattintva az áttekintő képernyőről, majd ezután a „Webszolgáltatás importálása” gombra kattintva a hozzáadás képernyőn.

                    
---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: Jegy csatlakozó REST példa
FrameworkVersion: 3.4.x git
Provider:
  Operation:
    SessionCreate:
      Description: Létrehoz egy munkamenetet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Session::SessionCreate
    TicketCreate:
      Description: Létrehoz egy jegyet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketCreate
    TicketGet:
      Description: Lekéri a jegyadatokat
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketGet
    TicketSearch:
      Description: Jegyek keresése
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketSearch
    TicketUpdate:
      Description: Frissít egy jegyet
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketUpdate
  Transport:
    Config:
      KeepAlive: ''
      MaxLength: '100000000'
      RouteOperationMapping:
        SessionCreate:
          RequestMethod:
          - POST
          Route: /Session
        TicketCreate:
          RequestMethod:
          - POST
          Route: /Ticket
        TicketGet:
          RequestMethod:
          - GET
          Route: /Ticket/:TicketID
        TicketSearch:
          RequestMethod:
          - GET
          Route: /Ticket
        TicketUpdate:
          RequestMethod:
          - PATCH
          Route: /Ticket/:TicketID
    Type: HTTP::REST
RemoteSystem: ''
Requester:
  Transport:
    Type: ''
                    
                

Perl SOAP kérelmező

A következő kód egy Perl-parancsfájl, amely képes kapcsolódni az OTRS-hez az általános felületen keresztül. Azért, hogy a jegy csatlakozó által biztosított műveleteket végrehajtsa, két Perl CPAN modult használ: SOAP::Lite és Data::Dumper. Győződjön meg arról, hogy a környezete képes ezen modulokat használni, mielőtt megpróbálná a parancsfájlt futtatni.

                    
#!/usr/bin/perl -w
# --
# otrs.SOAPRequest.pl - sample to send a SOAP request to OTRS Generic Interface Ticket Connector
# Copyright (C) 2001-2018 OTRS AG, https://otrs.com/
# --
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --

use strict;
use warnings;

# use ../ as lib location
use File::Basename;
use FindBin qw($RealBin);
use lib dirname($RealBin);

use SOAP::Lite;
use Data::Dumper;

# ---
# Variables to be defined.

# this is the URL for the web service
# the format is
# <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/Webservice/<WEB_SERVICE_NAME>
# or
# <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/WebserviceID/<WEB_SERVICE_ID>
my $URL = 'http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector';

# this name space should match the specified name space in the SOAP transport for the web service.
my $NameSpace = 'http://www.otrs.org/TicketConnector/';

# this is operation to execute, it could be TicketCreate, TicketUpdate, TicketGet, TicketSearch
# or SessionCreate. and they must to be defined in the web service.
my $Operation = 'TicketCreate';

# this variable is used to store all the parameters to be included on a request in XML format. Each
# operation has a determined set of mandatory and non mandatory parameters to work correctly. Please
# check the OTRS Admin Manual in order to get a complete list of parameters.
my $XMLData = '
<UserLogin>some user login</UserLogin>
<Password>some password</Password>
<Ticket>
    <Title>some title</Title>
    <CustomerUser>some customer user login</CustomerUser>
    <Queue>some queue</Queue>
    <State>some state</State>
    <Priority>some priority</Priority>
</Ticket>
<Article>
    <Subject>some subject</Subject>
    <Body>some body</Body>
    <ContentType>text/plain; charset=utf8</ContentType>
</Article>
';

# ---

# create a SOAP::Lite data structure from the provided XML data structure.
my $SOAPData = SOAP::Data
    ->type( 'xml' => $XMLData );

my $SOAPObject = SOAP::Lite
    ->uri($NameSpace)
    ->proxy($URL)
    ->$Operation($SOAPData);

# check for a fault in the soap code.
if ( $SOAPObject->fault ) {
    print $SOAPObject->faultcode, " ", $SOAPObject->faultstring, "\n";
}

# otherwise print the results.
else {

    # get the XML response part from the SOAP message.
    my $XMLResponse = $SOAPObject->context()->transport()->proxy()->http_response()->content();

    # deserialize response (convert it into a perl structure).
    my $Deserialized = eval {
        SOAP::Deserializer->deserialize($XMLResponse);
    };

    # remove all the headers and other not needed parts of the SOAP message.
    my $Body = $Deserialized->body();

    # just output relevant data and no the operation name key (like TicketCreateResponse).
    for my $ResponseKey ( keys %{$Body} ) {
        print Dumper( $Body->{$ResponseKey} );
    }
}
                    
                

Perl REST kérelmező

A következő kód egy Perl-parancsfájl, amely képes kapcsolódni az OTRS-hez az általános felületen keresztül. Azért, hogy a jegy csatlakozó által biztosított műveleteket végrehajtsa, három Perl CPAN modult használ: JSON, REST::Client::Lite és Data::Dumper. Győződjön meg arról, hogy a környezete képes ezen modulokat használni, mielőtt megpróbálná a parancsfájlt futtatni.

                    
#!/usr/bin/perl
# --
# otrs.RESTRequest.pl - sample to send a REST request to OTRS Generic Interface Ticket Connector
# Copyright (C) 2001-2018 OTRS AG, https://otrs.com/
# --
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --

use strict;
use warnings;

## nofilter(TidyAll::Plugin::OTRS::Perl::Dumper)

# use ../ as lib location
use File::Basename;
use FindBin qw($RealBin);
use lib dirname($RealBin);

use JSON;
use REST::Client;

# ---
# Variables to be defined

# This is the HOST for the web service the format is:
# <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl
my $Host = 'http://localhost/otrs/nph-genericinterface.pl';

my $RestClient = REST::Client->new(
    {
        host => $Host,
    }
);

# This is the Controller and Request the format is:
# /Webservice/<WEB_SERVICE_NAME>/<RESOURCE>/<REQUEST_VALUE>
# or
# /WebserviceID/<WEB_SERVICE_ID>/<RESOURCE>/<REQUEST_VALUE>
# This example will retrieve the Ticket with the TicketID = 1 (<REQUEST_VALUE>)
my $ControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket/1';

my $Params = {
    UserLogin     => "some user login",       # to be filled with valid agent login
    Password      => "some user password",    # to be filled with valid agent password
    DynamicFields => 1,                       # optional, if set to 1,
                                              # ticket dynamic fields included in response
    AllArticles   => 1,                       # optional, if set to 1,
                                              # all ticket articles are included in response
                                              # more options to be found in
         # /Kernel/GenericInterface/Operation/Ticket/TicketGet.pm's
         # Run() subroutine documentation.
};

my @RequestParam;

# As sample web service configuration for TicketGet uses HTTP method GET all other parameters needs
# to be sent as URI query parameters

# ----
# For GET method
my $QueryParams = $RestClient->buildQuery( %{ $Params } );

$ControllerAndRequest .= $QueryParams;

# The @RequestParam array on position 0 holds controller and request
@RequestParam = ($ControllerAndRequest);

$RestClient->GET(@RequestParam);
# ----

# # ----
# # For POST method
# my $JSONParams = encode_json $Params;

# # The @RequestParam array on position 0 holds controller and request
# # on position 1 it holds the JSON data string that gets posted
# @RequestParam = (
#   $ControllerAndRequest,
#   $JSONParams
# );

# $RestClient->POST(@RequestParam);
# # ----

# If the host isn't reachable, wrong configured or couldn't serve the requested page:
my $ResponseCode = $RestClient->responseCode();
if ( $ResponseCode ne '200' ) {
    print "Request failed, response code was: $ResponseCode\n";
    exit;
}

# If the request was answered correctly, we receive a JSON string here.
my $ResponseContent = $RestClient->responseContent();

my $Data = decode_json $ResponseContent;

# Just to print out the returned Data structure:
use Data::Dumper;
print "Response was:\n";
print Dumper($Data);

                    
                

cURL példák a REST kérésekhez

A fenti példára tekintettel egy REST beállításnál az általános jegy csatlakozóhoz a következőkkel rendelkezünk:

A jegy létrehozásához: POST metódus használata a /Ticket útvonalon.

A jegy kereséséhez: GET metódus használata a /Ticket útvonalon.

A jegy frissítéséhez: PATCH metódus használata a /Ticket/{TicketID} útvonalon (ahol a {TicketID} egy :TicketID által ábrázolt sablon az átvitel beállításában)

A jegy lekéréséhez: GET metódus használata a /Ticket/{TicketID} útvonalon (ahol a {TicketID} egy :TicketID által ábrázolt sablon az átvitel beállításában)

Egy új jegy létrehozása

cURL parancs:


shell> curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Title\":\"REST létrehozás próba\", \"Type\": \"Unclassified\", \"Queue\":\"Raw\",\"State\":\"open\",\"Priority\":\"3 normal\",\"CustomerUser\":\"customer\"},\"Article\":{\"Subject\":\"Rest létrehozás próba\",\"Body\":\"Ez csak egy próba\",\"ContentType\":\"text/plain; charset=utf8\"}}"  -X POST

                    

Válasz:

{
  "ArticleID":5484,
  "TicketNumber":"1001936",
  "TicketID":"1686"
}
                    

Jegy részleteinek lekérése

cURL parancs:


curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123"

                    

Válasz:

{
  "Ticket": [
    {
      "Age": 777,
      "PriorityID": 3,
      "ServiceID": "",
      "Type": "Unclassified",
      "Responsible": "root@localhost",
      "StateID": 4,
      "ResponsibleID": 1,
      "ChangeBy": 2,
      "EscalationTime": 0,
      "Changed": "2014-06-30 19:08:14",
      "OwnerID": 2,
      "RealTillTimeNotUsed": 0,
      "GroupID": 1,
      "Owner": "agent",
      "CustomerID": "OTRS",
      "TypeID": 1,
      "Created": "2014-06-30 19:08:12",
      "Priority": "3 normal",
      "UntilTime": 0,
      "EscalationUpdateTime": 0,
      "QueueID": 2,
      "Queue": "Raw",
      "State": "open",
      "Title": "REST létrehozás próba",
      "CreateBy": 2,
      "TicketID": 1686,
      "StateType": "open",
      "EscalationResponseTime": 0,
      "UnlockTimeout": 0,
      "EscalationSolutionTime": 0,
      "LockID": 1,
      "TicketNumber": "1001936",
      "ArchiveFlag": "n",
      "Lock": "unlock",
      "CreateTimeUnix": 1404173292,
      "SLAID": "",
      "CustomerUserID": "customer"
    }
  ]
}
                    

Jegy frissítése

cURL parancs:


curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Queues\":\"Postmaster\"}}"  -X PATCH

                    

Válasz:

{
  "TicketNumber":"1001936",
  "TicketID":"1686"
}
                    

Jegyek keresése

cURL parancs:


curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=Postmaster"

                    

Válasz:

{
  "TicketID": [
    "1686",
    "102",
    "100",
    "1"
  ]
}