Egy összekapcsolt világban a jegyrendszernek képesnek kell lennie arra, hogy reagáljon más rendszerek kéréseire, valamint kéréseket vagy információkat küldjön más rendszereknek:
-
CRM rendszereknek
-
Projektkezelő rendszereknek
-
Dokumentációkezelő rendszereknek
-
és egyéb rendszereknek
A jegyrendszert más szolgáltatásoknak is el kell érniük egy ügyintéző kézi beavatkozása nélkül.
Az OTRS ezt a követelményt az Általános felület segítségével támogatja. Felruházza az adminisztrátort azzal, hogy parancsfájlírási tudás nélkül hozzon létre webszolgáltatást egy bizonyos feladathoz. Az OTRS reagál a bejövő REST vagy SOAP kérésekre, és objektumokat hoz létre, vagy átlátható módon biztosít objektumadatokat más rendszerekhez.
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 beállításában a művelet vagy a meghívó határozza meg a kommunikáció irányát, valamint a leképezés és az átvitel gondoskodik arról, hogy az adatokat hogyan kell fogadni és értelmezni.
A beállításában lehet meghatározni, 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.
Általános felület
Az általános felület egy többrétegű keretrendszerből áll, amely az OTRS-nek más rendszerekkel való kommunikációt tesz lehetővé egy webszolgáltatáson keresztül. Ez a kommunikáció lehet kétirányú is:
-
OTRS mint szolgáltató: az OTRS kiszolgálóként működik, figyel a külső rendszerből érkező kérésekre, feldolgozza az információkat, végrehajtja a kért műveletet, és válaszol a kérésre.
-
OTRS mint kérelmező: az OTRS kliensként működik, információkat gyűjt, elküldi a kérést a távoli rendszernek, és várakozik a válaszra.
Á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.
- 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 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 nagyon 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:
-
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.
-
-
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.
-
-
Külső adatok
-
Az adatok, ahogy a távoli rendszer elküldte (ez nem egy modul alapú réteg).
-
-
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.
-
-
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).
-
-
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:
-
Művelet
-
Visszaadja az eredmény adatait a szolgáltatónak.
-
-
Belső adatok
-
Az adatok, ahogy visszaadásra kerültek a műveletből.
-
-
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.
-
-
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.
-
-
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.
-
-
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:
-
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.
-
-
-
-
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.
-
-
Belső adatok
-
Az adatok, ahogy a meghívó átadta (ez nem egy modul alapú réteg).
-
-
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.
-
-
Külső adatok
-
Az adatok, ahogy át lettek alakítva és elő lettek készítve a távoli rendszernek való küldéshez.
-
-
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:
-
Hálózati átvitel
-
Fogadja a választ és dekódolja az adat hasznos terhét.
-
Visszaadja az adatokat a kérelmezőnek.
-
-
Külső adatok
-
Az adatok, ahogy a távoli rendszerről érkeztek.
-
-
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.
-
-
Belső adatok
-
Az adatok, ahogy át lettek alakítva és elkészültek visszaadásra a kérelmezőnek.
-
-
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.
-
-
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 kezelése
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.
Használja ezt a képernyőt a rendszeren lévő webszolgáltatások kezeléséhez. Egy friss OTRS telepítés alapértelmezetten nem tartalmaz webszolgáltatást. A webszolgáltatás kezelésének képernyője a Folyamatok és automatizálás csoport Webszolgáltatások moduljában érhető el.
Egy webszolgáltatás létrehozásához:
-
Kattintson a Webszolgáltatás hozzáadása gombra a bal oldalsávban.
-
Töltse ki a szükséges mezőket.
-
Kattintson a Mentés gombra.
Egy webszolgáltatás szerkesztéséhez:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Módosítsa a mezőket.
-
Kattintson a Mentés vagy Mentés és befejezés gombra.
Egy webszolgáltatás törléséhez:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Kattintson a Webszolgáltatás törlése gombra a bal oldalsávban.
-
Kattintson a Törlés gombra a megerősítő párbeszédablakban.
Egy webszolgáltatás klónozásához:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Kattintson a Webszolgáltatás klónozása gombra a bal oldalsávban.
-
Adjon egy új nevet a webszolgáltatásnak.
Egy webszolgáltatás exportálásához:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Kattintson a Webszolgáltatás exportálása gombra a bal oldalsávban.
-
Válasszon egy helyet a számítógépén az
Export_ACL.yml
fájl mentéséhez.
Figyelem
A webszolgáltatás beállításaiban tárolt összes jelszó egyszerű szöveges formátumban lesz exportálva.
Egy webszolgáltatás beállítási előzményeinek megtekintéséhez:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Kattintson a Beállítási előzmények gombra a bal oldalsávban.
Egy webszolgáltatás hibakeresőjének használatához:
-
Kattintson egy webszolgáltatásra a webszolgáltatások listájában.
-
Kattintson a Hibakereső gombra a bal oldalsávban.
Egy webszolgáltatás importálásához:
-
Kattintson a Webszolgáltatás hozzáadása gombra a bal oldalsávban.
-
Kattintson a Webszolgáltatás importálása gombra a bal oldalsávban.
-
Kattintson a Tallózás… gombra a párbeszédablakban.
-
Válasszon egy előzőleg exportált
.yml
fájlt. -
Adjon egy nevet az importált webszolgáltatásnak (elhagyható). Egyébként a név a beállítófájl nevéből lesz átvéve.
-
Kattintson az Importálás gombra.
Webszolgáltatás beállításai
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.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
Webszolgáltatás általános beállításai
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Név *
-
Ennek az erőforrásnak a neve. Bármilyen típusú karakter beírható ebbe a mezőbe, beleértve a nagybetűket és a szóközt is. A név megjelenik az áttekintő táblázatban.
- Leírás
-
Mint a megjegyzés, csak hosszabb szöveg adható meg ide.
- Távoli rendszer
-
Ez a mező a távoli rendszerhez való leírás hozzáadásához használható.
- Hibakeresési küszöbszint
-
Az alapértelmezett érték 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
-
- Érvényesség
-
Állítsa be ennek az erőforrásnak az érvényességét. Minden erőforrás csak akkor használható az OTRS-ben, ha ez a mező érvényes értékre van állítva. Ennek a mezőnek az érvénytelen vagy átmenetileg érvénytelen értékre állításával letiltja az erőforrás használatát.
Szolgáltató webszolgáltatás beállításai
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Hálózati átvitel
-
Annak kiválasztása, hogy mely hálózati átvitelt szeretné használni a webszolgáltatással. A lehetséges értékek: HTTP::REST és HTTP::SOAP.
Megjegyzés
Az átviteli módszer kiválasztása után el kell mentenie a beállítást a Mentés gombra kattintva. Egy Beállítás gomb fog megjelenni a mező mellett.
- Beállítás
-
A Beállítás gomb csak akkor látható, miután egy hálózati átvitel kiválasztásra és mentésre került. Nézze meg a lenti OTRS mint szolgáltató – HTTP::REST és OTRS mint szolgáltató – HTTP::SOAP fejezeteket.
- Művelet hozzáadása
-
Ez a beállítás csak akkor látható, miután egy hálózati átvitel kiválasztásra és mentésre került. Egy művelet választásakor meg fog nyílni egy új képernyő annak beállításához.
Minden művelet érvényes ügyintézői bejelentkezési nevet és jelszót vagy egy munkamenet-azonosítót igényel. Ez a munkamenet-azonosító a
SessionCreate
művelet használatával szerezhető be a munkamenet-csatolótól, amely alapértelmezetten elérhető az OTRS-ben.Link::LinkAdd
-
Ez a művelet két objektum közötti kapcsolat létrehozásához használható.
Link::LinkDelete
-
Ez a művelet két objektum közötti kapcsolat eltávolításához használható.
Link::LinkDeleteAll
-
Ez a művelet egy objektum összes kapcsolatának eltávolításához használható.
Link::LinkList
-
Ez a művelet megjeleníti egy objektum összes kapcsolatát, választhatóan egy másik objektum, kapcsolattípus és kapcsolatirány szerint korlátozottan.
Link::PossibleLinkList
-
Ez a művelet megjeleníti az objektumok közötti összes lehetséges kapcsolattípust, amely az OTRS rendszerben regisztrálva van.
Link::PossibleObjectsList
-
Ez a művelet megjeleníti az összes olyan objektumot, amely használható összekapcsoláshoz.
Link::PossibleTypesList
-
Ez a művelet megjeleníti a két megadott objektum közötti összes lehetséges kapcsolattípust.
Részletesebb magyarázat és használati példák találhatók az Oktatóanyagok fejezet Objektum-összekapcsolási csatlakozó szakaszában.
Az általános felület és az OTRS-ben mellékelt műveletek természeténél fogva egy külső szoftver szükséges, hogy kéréseket küldjön az OTRS rendszernek.
Tesztelési célból a következők használatát javasoljuk:
-
OTRS Perl SOAP kérelmező parancsfájl: az ebben a parancsfájlban lévő néhány változó megváltoztatása szükséges, hogy illeszkedjen a jelenlegi webszolgáltatáshoz, a végrehajtandó művelethez és az elküldendő adatokhoz. Ilyen változók például az
URL
, aNameSpace
és azOperation
. -
A SMARTBEAR által fejlesztett SoapUI: egy nyílt forráskódú szoftver, amelyet SOAP üzeneteket használó weboldalak teszteléséhez terveztek.
OTRS mint szolgáltató – HTTP::REST
A beállítás egy kissé bonyolultabb lehet, mivel az dinamikusan nő minden beállított műveletnél az egyes műveletekhez való útvonal-leképezésnek és az egyes műveletekhez való érvényes kérési módszereknek az alapértelmezett átviteli beállításokhoz való hozzáadásával.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Útvonal leképezés a művelethez: „<MűveletNeve>” *
-
Meghatározza azt az útvonalat, amelyet ehhez a művelethez kellene leképezni. A kettősponttal
:
megjelölt változók a megadott névhez lesznek leképezve, és a többivel együtt kerülnek átadásra a leképezéshez (például/Ticket/:TicketID
).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:Érvényes kérések a
/Resource
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource?Param1=One
Érvénytelen kérések a
/Resource
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/ https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource?Param1=One
Érvényes kérések a
/Resource:ID
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1 https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1?Param1=One
Mindkét esetben az
ID
= 1 lesz elküldve a műveletnek a hasznos teher részeként. A második esetben aParam1
= One 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 a
/Resource:ID
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource?Param1=One
Érvényes kérések a
/Resource/OtherResource/:ID/:Color
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1/Red https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherReosurce/123/Blue?Param1=One
Az első példában
ID
= 1 ésColor
= Red, míg a másodikbanID
= 123 ésColor
= Blue.Érvénytelen kérések a
/Resource/OtherResource/:ID/:Color
útvonal-leképezéshez:https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/1 https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1 https://localhost/otrs/nph-genericinterface.pl/Webservice/Test/Resource/OtherResource/1?Param1=One
Az első példában a
/OtherResource
útvonal része, valamint a:Color
változó hiányzik. A második példában csak a:Color
változó hiányzik. - Érvényes kérési módszerek a művelethez: „<MűveletNeve>”
-
Ezen művelet korlátozása a megadott kérési módszerekre. Ha nincs módszer kiválasztva, akkor minden kérés el lesz fogadva.
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.
- Legnagyobb üzenethossz *
-
Megadja a REST üzenetek legnagyobb méretét (bájtban), amelyeket az OTRS fel fog dolgozni.
- Életben tartás küldése *
-
Ez a beállítás azt határozza meg, hogy a bejövő kapcsolatok le legyenek-e zárva vagy maradjanak életben.
- További válaszfejlécek (összes művelet)
-
Adott esetben meghatározhat további válaszfejléceket is az összes művelethez. Ezek használhatók az egyes válaszokhoz történő statikus fejlécértékek hozzáadásához. Egyszerűen kattintson a Fejléc hozzáadása gombra, és töltse ki mind a fejléc, mind az érték mezőket. Nincs korlát a további fejlécsorok számára vonatkozóan.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További válaszfejlécek (műveletre jellemző)
-
Ezek a fejlécek a kiválasztott művelethez tartozó válaszokban lesznek beállítva. A beállítás célja ugyanaz, mint a fentiekben.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz).
OTRS mint szolgáltató – HTTP::SOAP
Nagyon egyszerű a HTTP::SOAP protokoll szolgáltatóként történő beállítása.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- SOAP-művelet ellenőrzése *
-
Állítsa Igen értékre a fogadott
SOAPAction
fejléc ellenőrzéséhez (ha nem üres). Állítsa Nem értékre a fogadottSOAPAction
fejléc figyelmen kívül hagyásához. - SOAP-művelet séma *
-
Válassza ki, hogy a
SOAPAction
fejlécet hogyan kell felépíteni. Néhány webszolgáltatás különleges szerkezetet küld. - SOAP-művelet elválasztó *
-
Az elválasztóként használt karakter a névtér és a SOAP-művelet között. Általában a .Net webszolgáltatások
/
karaktert használnak elválasztóként. - Névtér *
-
URI egy környezethez való SOAP metódusok adásához csökkentve a kétértelműséget.
- Kérés névséma *
-
Válassza ki, hogy a SOAP-kérés függvénycsomagolót hogyan kell felépíteni. A
FunctionName
példaként van használva az aktuális meghívó vagy művelet nevénél. AFreeText
példaként van használva az aktuális beállított értéknél. - Válasz névséma *
-
Válassza ki, hogy a SOAP-válasz függvénycsomagolót hogyan kell felépíteni. A
FunctionName
példaként van használva az aktuális meghívó vagy művelet nevénél. AFreeText
példaként van használva az aktuális beállított értéknél. - Legnagyobb üzenethossz *
-
Megadja a SOAP üzenetek legnagyobb méretét (bájtban), amelyeket az OTRS fel fog dolgozni.
- További válaszfejlécek (összes művelet)
-
Adott esetben meghatározhat további válaszfejléceket is az összes művelethez. Ezek használhatók az egyes válaszokhoz történő statikus fejlécértékek hozzáadásához. Egyszerűen kattintson a Fejléc hozzáadása gombra, és töltse ki mind a fejléc, mind az érték mezőket. Nincs korlát a további fejlécsorok számára vonatkozóan.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További válaszfejlécek (műveletre jellemző)
-
Ezek a fejlécek a kiválasztott művelethez tartozó válaszokban lesznek beállítva. A beállítás célja ugyanaz, mint a fentiekben.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További válasz SOAP-névterek (összes művelet)
-
Ezek a névterek lesznek használva minden válaszban.
- További válasz SOAP-névterek (műveletre jellemző)
-
Ezek a névterek lesznek használva ennek a bizonyos műveletnek a válaszaiban.
Megjegyzés
Néhány fejléc biztonsági okokból tiltva van. Ha szükséges, a tiltott fejlécek listája a következő rendszerbeállításban változtatható meg az alábbi beállítások használatával:
-
GenericInterface::Invoker::OutboundHeaderBlacklist
-
GenericInterface::Operation::OutboundHeaderBlacklist
- Rendezési beállítások
-
Kimenő rendezési sorrend az XML-mezőknél (a szerkezet a függvénynév csomagoló alatt indul) – nézze meg a SOAP-átvitel dokumentációját.
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 következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Név *
-
Ennek az erőforrásnak a neve. Bármilyen típusú karakter beírható ebbe a mezőbe, beleértve a nagybetűket és a szóközt is. A név megjelenik az áttekintő táblázatban.
- Leírás
-
Adjon további információkat ehhez az erőforráshoz. Mindig ajánlott egy teljes mondattal kitölteni ezt a mezőt az erőforrás leírásaként a jobb érthetőségért, mert a leírás is megjelenik az áttekintő táblázatban.
- Műveleti háttérprogram
-
Ez az OTRS műveleti háttérprogram-modul lesz belsőleg meghívva a kérés feldolgozásához, és az adat előállításához a válasz számára.
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ó.
- Leképezés a bejövő kérés adataihoz
-
Ez a leképezés fogja a kérés adatait feldolgozni olyan formára alakítva át azokat, ahogy az OTRS várja.
- Leképezés a kimenő válasz adataihoz
-
Ez a leképezés fogja a válasz adatait feldolgozni olyan formára alakítva át azokat, ahogy a távoli rendszer várja.
- Jegyadatok felvétele
-
Tartalmazza-e a válasz a jegyadatokat vagy sem.
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 képernyő bal oldalán lévő művelet oszlopban lehetőség van a webszolgáltatáshoz való visszatérésre (az összes változtatás eldobása a legutóbbi mentés óta) és a törlésre. 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 kattintson a Mégse gombra a törlés párbeszédablak bezárásához.
Kérelmező webszolgáltatás beállításai
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övetkező beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Hálózati átvitel
-
Annak kiválasztása, hogy mely hálózati átvitelt szeretné használni a webszolgáltatással. A lehetséges értékek: HTTP::REST és HTTP::SOAP.
Megjegyzés
Az átviteli módszer kiválasztása után el kell mentenie a beállítást a Mentés gombra kattintva. Egy Beállítás gomb fog megjelenni a mező mellett.
- Beállítás
-
A Beállítás gomb csak akkor látható, miután egy hálózati átvitel kiválasztásra és mentésre került. Nézze meg a lenti OTRS mint kérelmező – HTTP::REST és OTRS mint kérelmező – HTTP::SOAP fejezeteket.
Lehetőség van objektum- és tömbformátum használatára is a távoli rendszer JSON-válaszaként. Azonban abban az esetben, ha ez egy tömb, a rendszer belsőleg objektumként tárolja, ahol az
ArrayData
van használva kulcsként és az érték egy tömb. Emiatt a válaszul kapott JSON-tömb hatékonyan leképezhető, de a fent leírt objektumként kell figyelembe venni (a kulcs azArrayData
, de a * is használható helyettesítő karakterként). - Hibakezelési modul hozzáadása
-
Ez a beállítás csak akkor látható, miután egy hálózati átvitel kiválasztásra és mentésre került. Egy hibakezelési modul kiválasztásakor meg fog nyílni egy új képernyő annak beállításához.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Név *
-
Ennek az erőforrásnak a neve. Bármilyen típusú karakter beírható ebbe a mezőbe, beleértve a nagybetűket és a szóközt is. A név megjelenik az áttekintő táblázatban.
- Leírás
-
Adjon további információkat ehhez az erőforráshoz. Mindig ajánlott egy teljes mondattal kitölteni ezt a mezőt az erőforrás leírásaként a jobb érthetőségért, mert a leírás is megjelenik az áttekintő táblázatban.
- Meghívószűrő
-
Csak hibakezelési modul végrehajtása a kijelölt meghívóknál.
- Hibaüzenet tartalomszűrő
-
Egy reguláris kifejezés megadása annak korlátozásához, hogy mely hibaüzeneteknek kell hibakezelési modul végrehajtást okoznia. A hibaüzenet tárgya és adatai (amint a hibakereső hibabejegyzésében látható) lesznek figyelembe véve egy egyezésnél.
Példa: A
^.*401 Unauthorized.*$
megadásával csak a hitelesítéssel kapcsolatos hibák kezelhetők. - Hibaállapot szűrő
-
Csak hibakezelési modul végrehajtása olyan hibáknál, amelyek bizonyos feldolgozási állapotoknál fordulnak elő.
Példa: csak olyan hibák kezelése, ahol nem sikerült alkalmazni a leképezést a kimenő adatoknál.
- Hibakód
-
Egy hibaazonosító ennél a hibakezelési modulnál. Ez az azonosító lesz elérhető az XSLT-leképezésben, és ez jelenik meg a hibakereső kimenetén.
- Hibaüzenet
-
Egy hibamagyarázat ennél a hibakezelési modulnál. Ez az üzenet lesz elérhető az XSLT-leképezésben, és ez jelenik meg a hibakereső kimenetén.
- Leállítás találat után
-
Meghatározza, hogy a feldolgozást le kell-e állítani a modul végrehajtása után, kihagyva az összes hátralévő modult vagy csak ugyanannak a háttérprogramnak a moduljait. Az alapértelmezett viselkedés a folytatás, a következő modul feldolgozása.
OTRS mint kérelmező – HTTP::REST
A HTTP::REST esetén ez a beállítás is dinamikusan nő a beállított meghívóktó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.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Végpont *
-
Adott helyet jelző távoli rendszer URI egy webszolgáltatáshoz való hozzáféréshez.
- Időkorlát *
-
Időkorlátérték a kérésekhez.
- Hitelesítés
-
Egy választható hitelesítési mechanizmus a távoli rendszer eléréséhez. Válasszon egy hitelesítési mechanizmust a listából, és további mezők fognak megjelenni.
- Hitelesítési adatok *
-
Válasszon egy hitelesítési adatot, amely a Hitelesítési adatok képernyőn lett hozzáadva. Kattintson a Hitelesítési adatok hozzáadása gombra a hitelesítési adatok kezelőképernyőjének megnyitásához.
- Hitelesítés-szolgáltató (CA) tanúsítvány
-
A hitelesítés-szolgáltató tanúsítványfájljának teljes elérési útja és neve, amely hitelesíti az SSL tanúsítványt.
- Hitelesítés-szolgáltató (CA) könyvtár
-
A hitelesítés-szolgáltató könyvtárának teljes elérési útja, ahol a CA tanúsítványok tárolva vannak a fájlrendszeren.
- Proxybeállítások használata *
-
Proxybeállítások megjelenítése vagy elrejtése a távoli rendszerhez való csatlakozáshoz.
- Vezérlő leképezés a meghívóhoz: „<MeghívóNeve>” *
-
Az a vezérlő, amelyhez a meghívónak kéréseket kell küldenie.
A kettősponttal
:
megjelölt változók az adatok értékével lesznek helyettesítve és a kéréssel együtt kerülnek átadásra. (például/Ticket/:TicketID?UserLogin=:UserLogin&Password=:Password
). - Érvényes kérés parancs a meghívóhoz: „<MeghívóNeve>”
-
A kérésekhez használandó megadott HTTP parancs ezzel a meghívóval (opcionális).
- Alapértelmezett parancs
-
A kéréseknél használandó alapértelmezett HTTP parancs. 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 parancs lesz használva.
- További kérésfejlécek (összes meghívó)
-
Adott esetben meghatározhat további kérésfejléceket is az összes meghívóhoz. Ezek használhatók az egyes kérésekhez történő statikus fejlécértékek hozzáadásához. Egyszerűen kattintson a Fejléc hozzáadása gombra, és töltse ki mind a fejléc, mind az érték mezőket. Nincs korlát a további fejlécsorok számára vonatkozóan.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További kérésfejlécek (meghívóra jellemző)
-
Ezek a fejlécek a kiválasztott meghívóhoz tartozó kérésekben lesznek beállítva. A beállítás célja ugyanaz, mint a fentiekben.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz).
Megjegyzés
Néhány fejléc biztonsági okokból tiltva van. Ha szükséges, a tiltott fejlécek listája a következő rendszerbeállításban változtatható meg az alábbi beállítások használatával:
-
GenericInterface::Invoker::OutboundHeaderBlacklist
-
GenericInterface::Operation::OutboundHeaderBlacklist
OTRS mint kérelmező – HTTP::SOAP
A kérelmező HTTP::SOAP hálózati átvitelénél több beállítandó mező található.
A következő beállítások akkor érhetők el, ha hozzáadja vagy szerkeszti ezt az erőforrást. A csillaggal jelölt mezők kitöltése kötelező.
- Végpont *
-
Adott helyet jelző távoli rendszer URI egy webszolgáltatáshoz való hozzáféréshez.
- Időkorlát *
-
Időkorlátérték a kérésekhez.
- SOAP-művelet beállítása *
-
Állítsa Igen értékre egy kitöltött
SOAPAction
fejléc küldéséhez. Állítsa Nem értékre egy üresSOAPAction
fejléc küldéséhez. - SOAP-művelet séma *
-
Válassza ki, hogy a
SOAPAction
fejlécet hogyan kell felépíteni. Néhány webszolgáltatás különleges szerkezetet igényel. - SOAP-művelet elválasztó *
-
Az elválasztóként használt karakter a névtér és a SOAP-művelet között. Általában a .Net webszolgáltatások
/
karaktert használnak elválasztóként. - Névtér *
-
URI egy környezethez való SOAP metódusok adásához csökkentve a kétértelműséget.
- Kérés névséma *
-
Válassza ki, hogy a SOAP-kérés függvénycsomagolót hogyan kell felépíteni. A
FunctionName
példaként van használva az aktuális meghívó vagy művelet nevénél. AFreeText
példaként van használva az aktuális beállított értéknél. - Válasz névséma *
-
Válassza ki, hogy a SOAP-válasz függvénycsomagolót hogyan kell felépíteni. A
FunctionName
példaként van használva az aktuális meghívó vagy művelet nevénél. AFreeText
példaként van használva az aktuális beállított értéknél. - Kódolás
-
A SOAP üzenettartalmak karakterkódolása.
- Hitelesítés
-
Egy választható hitelesítési mechanizmus a távoli rendszer eléréséhez. Válasszon egy hitelesítési mechanizmust a listából, és további mezők fognak megjelenni.
- Hitelesítési adatok *
-
Válasszon egy hitelesítési adatot, amely a Hitelesítési adatok képernyőn lett hozzáadva. Kattintson a Hitelesítési adatok hozzáadása gombra a hitelesítési adatok kezelőképernyőjének megnyitásához.
- Hitelesítés-szolgáltató (CA) tanúsítvány
-
A hitelesítés-szolgáltató tanúsítványfájljának teljes elérési útja és neve, amely hitelesíti az SSL tanúsítványt.
- Hitelesítés-szolgáltató (CA) könyvtár
-
A hitelesítés-szolgáltató könyvtárának teljes elérési útja, ahol a CA tanúsítványok tárolva vannak a fájlrendszeren.
- Proxybeállítások használata *
-
Proxybeállítások megjelenítése vagy elrejtése a távoli rendszerhez való csatlakozáshoz.
- További kérésfejlécek (összes meghívó)
-
Adott esetben meghatározhat további kérésfejléceket is az összes meghívóhoz. Ezek a fejlécek lesznek beállítva minden kérésben.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További kérésfejlécek (meghívóra jellemző)
-
Ezek a fejlécek a kiválasztott meghívóhoz tartozó kérésekben lesznek beállítva. A beállítás célja ugyanaz, mint a fentiekben.
A
:
karakterrel megjelölt fejlécérték-változók ki lesznek cserélve a megfelelő adatértékkel (például a:TicketID
helyett1
lesz). - További kérés SOAP-névterek (összes meghívó)
-
Ezek a névterek lesznek használva minden kérésben.
- További kérés SOAP-névterek (meghívóra jellemző)
-
Ezek a névterek lesznek használva ennek a bizonyos meghívónak a kéréseiben.
Megjegyzés
Néhány fejléc biztonsági okokból tiltva van. Ha szükséges, a tiltott fejlécek listája a következő rendszerbeállításban változtatható meg az alábbi beállítások használatával:
-
GenericInterface::Invoker::OutboundHeaderBlacklist
-
GenericInterface::Operation::OutboundHeaderBlacklist
- Rendezési beállítások
-
Kimenő rendezési sorrend az XML-mezőknél (a szerkezet a függvénynév csomagoló alatt indul) – nézze meg a SOAP-átvitel dokumentációját.
Webszolgáltatás leképezése
Vannak olyan esetek, ahol át kell alakítania az adatokat az egyik formátumról egy másikra (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 bármely esetre (például van egy személyre szabott leképezőmodul a funkcióként elérhető SAP Solution Manager csomagnál), 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
Ha 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.
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)
-
Ez semmilyen esetben sem nyúl a kulcsokhoz vagy az értékekhez.
- Mellőzés (kulcs-érték pár eldobása)
-
Ha 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 (biztosított é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. Ha ezt a lehetőséget választja, akkor egy új szövegmező fog megjelenni az alapértelmezett beállításához.
A plusz gombra kattintva az új kulcstérképnél egy új dobozt fog megjeleníteni egy önálló leképezési beállításhoz. Annyi kulcsleképezést adhat hozzá, amennyi szükséges. Egyszerűen kattintson ismét a plusz 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ékek
-
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 plusz 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 mínusz 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ó mínusz 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, akkor 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.
Lehetőség van XSLT-sablonokat is meghatározni a leképezéshez.
XSLT-leképezés
- XSLT-stíluslap *
-
Itt adhatja hozzá vagy módosíthatja az XSLT-leképezés kódját.
A szerkesztőmező lehetővé teszi különböző függvények használatát, mint például automatikus formázás, ablakátméretezés, valamint címke- és zárójel-kiegészítés.
- Kulcs attribútumának használata
-
A bejövő adatoknál ez a beállítás határozza meg, hogy az XML-kulcs attribútumai át legyenek-e alakítva Perl adatstruktúrává, vagy figyelmen kívül legyenek hagyva.
Példa: bejövő XML-adatok
<Article> <Subject>some subject</Subject> <Body>some body</Body> <ContentType>text/plain; charset=utf8</ContentType> <TimeUnit>1</TimeUnit> </Article> <Attachment> <Content>someTestData</Content> <ContentType>text/plain</ContentType> <Filename>test1.txt</Filename> </Attachment> <Attachment Content="someTestData" ContentType="text/plain" Filename="test2.txt" />
Az eredményül kapott Perl-adatok a Kulcs attribútumának használata beállítás letiltásával:
$VAR1 = { Article => { Body => 'some body', ContentType => 'text/plain; charset=utf8', Subject => 'some subject', TimeUnit => '1', }, Attachment => [ { Content => 'someTestData', ContentType => 'text/plain', Filename => 'test1.txt', }, {}, ], };
Az eredményül kapott Perl-adatok a Kulcs attribútumának használata beállítás engedélyezésével:
$VAR1 = { Article => { Body => 'some body', ContentType => 'text/plain; charset=utf8', Subject => 'some subject', TimeUnit => '1', }, Attachment => [ { Content => 'someTestData', ContentType => 'text/plain', Filename => 'test1.txt', }, { Content => 'someTestData', ContentType => 'text/plain', Filename => 'test2.txt', }, ], };
- Attribútum beállításai
-
Ezt a beállítást kell használni ahhoz, hogy kulcs attribútumait a kimenő elemekhez használhassuk. Az első szintű beállítások határozzák meg azokat az elemeket, amelyeknek a kulcs attribútumait meg kell kapniuk. A második szintű beállítások határozzák meg, hogy mely alelemeket kell alakítani attribútumokká és csatolni az azt körülvevő elemhez. Csak a beállítások két szintje lesz figyelembe véve a kulcs attribútumainál. Ezek lesznek használva az XML-szerkezetben lévő elemek bármelyik szintjénél (nem csak az első szinten).
Ne feledje, hogy az attribútum beállításaiban lehetséges az elemek rendezése, de ez nem befolyásolja a kulcs attribútumainak kezelését.
Ha egy elem minden aleleme attribútumokká van átalakítva, és az elem tartalmaz egy bizonyos
ContentKey
alelemet, akkor ennek az alelemnek a tartalma lesz használva az azt körülvevő elem értékeként. Nézze meg a következő példát ezen lehetőségek illusztrációjaként.Példa: XSLT-leképezés
<?xml version="1.0" encoding="UTF-8"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:date="http://exslt.org/dates-and-times" version="1.0" extension-element-prefixes="date"> <xsl:template match="RootElement"> <xsl:copy> <header> <messageID>someMessageID</messageID> <Attachment> <ContentKey>text1.txt</ContentKey> <Content>someValue</Content> <ContentType>text/plain</ContentType> </Attachment> <Attachment> <Filename>text2.txt</Filename> <Content>someValue</Content> <ContentType>text/plain</ContentType> </Attachment> <Attachment> <ContentKey>text3.txt</ContentKey> <Content>someValue</Content> <ContentDisposition>inline</ContentDisposition> <ContentType>text/plain</ContentType> </Attachment> </header> <ticketID>someTicketID</ticketID> <returnCode>0</returnCode> </xsl:copy> </xsl:template> </xsl:transform>
- Adatfelvételek
-
Egy vagy több adathalmaz kiválasztása, amely korábbi kérés/válasz állapotokban lett létrehozva, hogy belekerüljenek a leképezhető adatokba.
Ezek a halmazok az adatszerkezetben fognak megjelenni itt:
/DataInclude/<AdatHalmazNev>
(a részletekért nézze meg az aktuális kérések hibakeresési kimenetét).
Webszolgáltatás a dinamikus mezőhöz
Egy új webszolgáltatás típusú dinamikus mező létrehozásához az szükséges, hogy rendelkezzen egy már működő webszolgáltatással. Szükséges, hogy legyen legalább egy Generic::PassThrough
típusú meghívó is. Ez a meghívó lesz meghívva, hogy lekérje az adatokat a távoli kiszolgálóról. Az eredeti adatok, amelyek egy kérésben kerülnek elküldésre, hasonlóak a következő példához.
{
DynamicFieldID => 123,
DynamicFieldLabel => 'NameX',
DynamicFieldName => 'NameX',
DynamicFieldValue => 'Value',
Form => {
# Form fields
# ...
},
Ticket => {
# Ticket attributes
# ...
},
DynamicField => {
NameX => 'Value'
NameY => [ 'Value' ],
},
UserID => 123,
},
Form
-
Ez a szakasz tartalmazza a mezőket a jelenlegi űrlapon a webböngészőben. Ezek az információk megváltoznak, amint a képernyőt kitöltik.
Ticket
-
Ez a szakasz (vagy más forrásobjektum, például
CustomerUser
) tartalmazza annak az objektumnak az attribútumait, amelyhez a dinamikus mező tartozik.Például az Új telefonos jegy képernyőn a szakasz üres, mivel a jegy még nem jött létre, de a Szabad mezők megváltoztatása képernyőn az aktuális jegy információit tartalmazza.
DynamicField
-
Ez a szakasz tartalmazza az összes beállított dinamikus mező összes nem üres értékét az aktuális objektumnál.
A legtöbb esetben a távoli kiszolgáló által igényelt adatok nagyon eltérőek lesznek a megadott adatoktól, ezért erősen ajánlott egy leképező modul használata a kimenő adatokhoz, hogy kifejezetten a távoli kiszolgáló hívásához formázza meg azokat.
A következő kimenő leképezési példa egy olyan XSLT leképezést mutat be, amely eldob minden adatot, és egy rögzített UserLogin
, Password
és TicketID
értéket állít be (ahogy egy TicketGet
műveletnél szükséges).
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform
xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
xmlns:date="https://exsalt.org/dates-and-times"
version="1.0"
extension-element-prefixes="date">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<!-- Don't return unmached tags -->
<xsl:template match="text()" />
<!-- Remove empty elements -->
<xsl:template match="*[not(node())]" />
<!-- Root template -->
<xsl:template match="/">
<RootElement>
<UserLogin>someuser</UserLogin>
<Password>somepassword</Password>
<TicketID>1</TicketID>
</RootElement>
</xsl:template>
</xsl:transform>
A kiszolgálótól érkező válasz is nagyon különböző lehet, ezért ebben az esetben is erősen ajánlott egy leképező modul használata a bejövő adatokhoz, hogy képes legyen feldolgozni az információkat. A válasznak kulcs és érték elemek listájának kell lennie.
A következő bejövő leképezési példa egy olyan XSLT leképezést mutat be, amely átalakítja a távoli kiszolgálótól származó TicketGet
művelet válaszból kapott eredményeket, kinyeri és megformázza az állapotot és a várólistát, amint azok válaszlehetőségként történő használata szükséges a dinamikus mezőnél.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform
xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
xmlns:date="https://exsalt.org/dates-and-times"
version="1.0"
extension-element-prefixes="date">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<!-- Don't return unmached tags -->
<xsl:template match="text()" />
<!-- Remove empty elements -->
<xsl:template match="*[not(node())]" />
<!-- Root template -->
<xsl:template match="/">
<RootElement>
<xsl:apply-templates />
</RootElement>
</xsl:template>
<xsl:template match="/*/Ticket">
<PossibleValue>
<Key>State</Key>
<Value>
<xsl:value-of select="/*/Ticket/State" />
</Value>
</PossibleValue>
<PossibleValue>
<Key>Queue</Key>
<Value>
<xsl:value-of select="/*/Ticket/Queue" />
</Value>
</PossibleValue>
</xsl:template>
</xsl:transform>
A következő webszolgáltatás-meghatározás (importálható YAML-fájl) használható a mező teszteléséhez, de a végpontot át kell alakítani, hogy illeszkedjen a jelenlegi rendszerhez. Ez a webszolgáltatás kérelmezőként és szolgáltatóként is működik, és mindig az 1-es TicketID
állapotát és várólistáját adja vissza, mint a mező lehetséges értékeit.
Megjegyzés
Ezt a példát nem szabad együtt használni a fejlesztői webkiszolgálóval.
---
Debugger:
DebugThreshold: debug
TestMode: '0'
Description: Dynamic Field Web Service Test
FrameworkVersion: 7.0.x git
Provider:
ErrorHandling: {}
ErrorHandlingPriority: []
Operation:
TicketGet:
Description: ''
IncludeTicketData: ''
MappingInbound: {}
MappingOutbound: {}
Type: Ticket::TicketGet
Transport:
Config:
AdditionalHeaders: ~
MaxLength: '100000000'
NameSpace: https://www.otrs.org/TicketConnector/
RequestNameFreeText: ''
RequestNameScheme: Plain
ResponseNameFreeText: ''
ResponseNameScheme: Response
Type: HTTP::SOAP
RemoteSystem: ''
Requester:
ErrorHandling: {}
ErrorHandlingPriority: []
Invoker:
TicketGet:
Description: Get possible values from the other side.
Events: []
MappingInbound:
Config:
Template: |-
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2001-2023 OTRS AG, https://otrs.com/
This software comes with ABSOLUTELY NO WARRANTY. For details, see
the enclosed file COPYING for license information (GPL). If you
did not receive this file, see https://www.gnu.org/licenses/gpl.txt.
-->
<!-- DOCUMENTATION
* Example XML Input *
<RootElement>
...
</RootElement>
* Example XML Output *
<RootElement>
<PossibleValues>
<Key>???</Key>
<Value>???</Value>
</PossibleValues>
<PossibleValues>
<Key>???</Key>
<Value>???</Value>
</PossibleValues>
...
</RootElement>
-->
<xsl:transform
xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
xmlns:date="https://exslt.org/dates-and-times"
version="1.0"
extension-element-prefixes="date">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<!-- Don't return unmatched tags -->
<xsl:template match="text()" />
<!-- Remove empty elements -->
<xsl:template match="*[not(node())]" />
<!-- Root template -->
<xsl:template match="/">
<RootElement>
<xsl:apply-templates />
</RootElement>
</xsl:template>
<xsl:template match="/*/Ticket">
<PossibleValue>
<Key>State</Key>
<Value><xsl:value-of select="/*/Ticket/State" /></Value>
</PossibleValue>
<PossibleValue>
<Key>Queue</Key>
<Value><xsl:value-of select="/*/Ticket/Queue" /></Value>
</PossibleValue>
</xsl:template>
</xsl:transform>
Type: XSLT
MappingOutbound:
Config:
Template: |-
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2001-2023 OTRS AG, https://otrs.com/
This software comes with ABSOLUTELY NO WARRANTY. For details, see
the enclosed file COPYING for license information (GPL). If you
did not receive this file, see https://www.gnu.org/licenses/gpl.txt.
-->
<!-- DOCUMENTATION
* Example XML Input *
<RootElement>
...
</RootElement>
* Example XML Output *
<RootElement>
<PossibleValues>
<Key>???</Key>
<Value>???</Value>
</PossibleValues>
<PossibleValues>
<Key>???</Key>
<Value>???</Value>
</PossibleValues>
...
</RootElement>
-->
<xsl:transform
xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
xmlns:date="https://exslt.org/dates-and-times"
version="1.0"
extension-element-prefixes="date">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<!-- Don't return unmatched tags -->
<xsl:template match="text()" />
<!-- Remove empty elements -->
<xsl:template match="*[not(node())]" />
<!-- Root template -->
<xsl:template match="/">
<RootElement>
<UserLogin>someuser</UserLogin>
<Password>somepassword</Password>
<TicketID>1</TicketID>
</RootElement>
</xsl:template>
</xsl:transform>
Type: XSLT
Type: Generic::PassThrough
Transport:
Config:
Encoding: ''
Endpoint: https://localhost/otrs/nph-genericinterface.pl/Webservice/GenericConfigItemConnectorSOAP
NameSpace: https://www.otrs.org/TicketConnector/
RequestNameFreeText: ''
RequestNameScheme: Plain
ResponseNameFreeText: ''
ResponseNameScheme: Response
SOAPAction: Yes
SOAPActionSeparator: '#'
SSL:
SSLProxy: ''
SSLProxyPassword: ''
SSLProxyUser: ''
Type: HTTP::SOAP
UseMappedData: '1'