külső webapi
Amellett, hogy a nagyszámú funkcionális elérhető szolgáltatások gyökér szolgáltatások a szerveren, ezek a szolgáltatások a funkcionális modulok a rendszer: a feladatok végrehajtása, hozzon létre feladatok és események a naptárban, stb
Root szolgáltatások rendszere
Root szolgáltatások a következők:
Minden szolgáltatások Root 2. belépési pontok: WCF a HTTP és a WCF SOAP. Hozzáférés egy adott pontján a következő módon:
/ API / REST /<Имя сервиса>/ Súgó. mert akkor AuthorizationService
A WCF HTTP módban, minden szolgáltatás (kivéve MetadataService) egyaránt támogatják az XML és JSON adatformátum. A formátum van beállítva a cím:
- Elfogadás: application / xml (vagy Content-Type: application / xml a POST kérés) - cserélni XML formátumban
- Elfogadás: application / JSON (vagy Content-Type: application / json POST kérés) - cserére JSON formátumban
MetadataService szolgáltatás csak akkor támogatja az XML adatcsere formátum
Megbízható alkalmazások és kapcsolat ülés
Token alkalmazás lehet létrehozni, és nézd meg a Elma szerver oldalon
Beállítások tokenek külső alkalmazások mellett végzik beadás ugyanakkor számos rendszer zsetonok lejárati külön beállítható minden alkalmazáshoz.
Létrehozva egy új külső alkalmazást, egy jelképes
Hozzunk létre egy külső alkalmazást, jelképes érte. Ehhez menj Adminisztráció -> Rendszer -> Külső alkalmazások és kattintson a „Hozzáadás” gombra.
Ezután töltse ki a szükséges mezőket, mi app, és kattintson a „Mentés”.
Akkor el kell menni a létrehozott alkalmazás, és kapcsolja be.
Most felveheti a jelzőt. Azt viszont, hogy a lap „Application zseton”, kattintson a „Token hozzáadása”, és válassza ki a lejárat dátumát.
Új külső alkalmazás elkészült, és most is együtt dolgozni vele.
Segítség poWebAPI
Van automatikusan generált információ WebAPI. Információkat tartalmaz, amelyek ott állnak szolgáltatások, létesítmények, transzfer és adattípusok a tulajdonságok. Nem található egy relatív hivatkozás
Nézzük meg részletesebben az egyes elemeket.
A rendelkezésre álló nyilvános internetes szolgáltatások
Információkat tartalmaz, amely a webszolgáltatások rendszerek állnak rendelkezésre, hogy hívja a harmadik féltől származó alkalmazások.
Minden webes szolgáltatás tájékoztatást nyújt a módszer, hogy lehet nevezni egy adott webes szolgáltatás, valamint a módszer paramétereinek és visszatérési értékek.
Továbbá, minden szolgáltatás tartalmaz információkat, hogyan hívja módszerek: akár WSDL. vagy HTTP kérések segítségével.
átirányítási WSDL információ
Információk a hívást a HTTP kérések
Fordult egy módszer, akkor megtalálják a megfelelő információt a formátumot, amelyben létre kell hozni egy lekérdezést, és milyen formában a válasz jön.
Listája típusú objektumok (entitások)
Információkat tartalmaz minden területen a rendszer, beleértve a folyamatokat.
Mindegyik itt bemutatott információkat nyújt annak tulajdonságait. Az eljárás nem tartalmaz információt a kontextusban.
listája transzferek
Információkat tartalmaz az összes rendelkezésre álló listák rendszer.
Minden bejegyzésben tárunk tárol információt annak értékeit.
A lista adattípusok tulajdonságok
Információkat tartalmaz az azonosító adatok típusát. itt:
- ÖSSZEFOGLALÁS (72ed98ca-f260-4671-9bcd-ff1d80235f47)
- A projekt típusa (d1397b84-f5ab-4665-984f-fdeb8f77eb0b)
- Dokumentum típusa (a3a41ae4-30e2-4c46-BBA2-ee55efdc7b90)
- RAC típusa (691ed407-4007-4530-834b-0c6a34bb9af1)
- Számlálás (849c1ac9-4d46-4194-8cbb-43f84adf9c17)
2. ID altípusa adatok - egy egyedi azonosítót minden objektum típusa. Ez az azonosító nem lehet megismételni.
például ispolzovaniyaWebAPI
Két lehetőség van az interakció WebAPI kód: át WSDL- és szolgáltatások révén Http- kéri. Az alábbi példák a munka minimális web api minden változatra.
Dolgozz cherezHttp kérések
mert együttműködik az áram használat után ReadToEnd function () szimbólum a változó sr nem (lesz csak egy üres string). A függvény eredménye lesz a válasz itt van:
<
"AuthToken": "39c45713-59c0-48db-aeee-77e93579b330"
"CurrentUserId": "1"
"Lang": "ru-RU",
"SessionToken": "0B56F7016540A75C5352942FDD3E40FAC7E73663B3BD1279B39780215603285F28432FD2D2940842A5BFF83BA97830A07577004F6CE61E10E2A9C1885A74192B"
>
- typeUid - egy egyedi azonosítót, mint a „feladat”.
- ENTITYID - objektum azonosító
Itt csak egy része a reagálás, A teljes válasz túl nagy. Ha szüksége van csak néhány területen egy tárgy, használja LoadTree funkciót. Tölts fel több objektum egy lekérdezés, a Query funkció (letölteni az összes objektum mezők) vagy QueryTree (betöltésére bizonyos tárgy mezők).
Az alábbiakban a Query függvényhívás kódot.
- typeUid - egy egyedi azonosítót, mint a „feladat”.
- eqlQuery - kérés EQL nyelvet.
- limit - a kapott összeg elemek által
- eltolás - a kezdeti elem
- Sort -
- filterProviderUid - egyedi azonosítóját ISP szűrés
- filterProviderData - adatszolgáltató szűrés
- Keresés - értékek a mezők az entitás szűrő
A «Eredmény» vissza True. Ez azt jelenti, hogy a feladat sikeresen befejeződött. Ha bármilyen okból ezt nem lehet tenni az «Eredmény» visszatér hamis.
RabotacherezWSDL
Ha sikeres a szolgáltatás bekerül a „Solution Explorer”.
Hasonlóképpen, adjunk hozzá egy linket IEntityService.
Itt kell a hely System.ServiceModel.Web neveket.
Az első lépések. Az egyszerűség kedvéért létre WsdlService osztály és indítsa el a munka.
Változó _entityServiceFactory (és hasonlók) létrehozásához használt kommunikációs csatorna a szerverrel. Ezek inicializált TestStart () függvényt. A kommunikációs csatorna maga hozza létre CreateChannel ().
Tekintsük GetAuthToken () függvényt. Részben authorizationService - már létrehozott egy szolgáltatás maga is tartalmaz ismertetett módszerek a Segítség WebAPI.
Használata csatorna belsejében történik alkalmazásával (...) <…>. Szükséges, hogy az átviteli a szükséges fejlécek különböző szolgáltatási funkciók.
Megfogni ezt a hibát, akkor megkapja az alábbi információkat:
- hibaüzenet
- Web hibakód (például: 400, 401, 500)
- Egy belső hiba (ha van ilyen)
és még sok más.
Hibakód 500 társul egy belső szerver hiba. Leggyakrabban az oka lehet:
- Hiba a kódfuttatást a szerveren
- A hiánya egy adott objektum (például: A terhelési funkció)
- Ha hiányzik egy adott típusú objektum (ha typeUid nem létezik)
Elméletileg lehetséges hibák és egyéb kódok, de ezek nagyon ritkák.
Mi jár a letöltési feladatokat. Adjuk hozzá a létrehozott osztályba LoadTask () függvényt.
Íme néhány a mezők által visszaadott funkciót.
A következő hiba jelenhet amikor bizonyos funkciók:
További információ: Kvótatúllépés üzenetek maximális méretét a bejövő üzenetek (65536). Ahhoz, hogy növelje a kvóta, használja MaxReceivedMessageSize megfelelő kötési elem tulajdonságot "
Ez azért van, mert a válasz jön a szerver túl nagy, és az alkalmazás korlátozás nem lehet kihagyni. Ennek elkerülése érdekében használja az inicializálás változók _entityServiceFactory alábbiak szerint: