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:

  1. Elfogadás: application / xml (vagy Content-Type: application / xml a POST kérés) - cserélni XML formátumban
  2. 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.

külső webapi

Ezután töltse ki a szükséges mezőket, mi app, és kattintson a „Mentés”.

külső webapi

Akkor el kell menni a létrehozott alkalmazás, és kapcsolja be.

külső webapi

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.

külső webapi

Ú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

külső webapi

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.

külső webapi

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.

külső webapi

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

külső webapi

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.

külső webapi

Listája típusú objektumok (entitások)

Információkat tartalmaz minden területen a rendszer, beleértve a folyamatokat.

külső webapi

külső webapi

Mindegyik itt bemutatott információkat nyújt annak tulajdonságait. Az eljárás nem tartalmaz információt a kontextusban.

külső webapi

listája transzferek

Információkat tartalmaz az összes rendelkezésre álló listák rendszer.

külső webapi

Minden bejegyzésben tárunk tárol információt annak értékeit.

külső webapi

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.

külső webapi

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"
>

  1. typeUid - egy egyedi azonosítót, mint a „feladat”.
  2. 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.

  1. typeUid - egy egyedi azonosítót, mint a „feladat”.
  2. eqlQuery - kérés EQL nyelvet.
  3. limit - a kapott összeg elemek által
  4. eltolás - a kezdeti elem
  5. Sort -
  6. filterProviderUid - egyedi azonosítóját ISP szűrés
  7. filterProviderData - adatszolgáltató szűrés
  8. 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

külső webapi

Ha sikeres a szolgáltatás bekerül a „Solution Explorer”.

külső webapi

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:

  1. hibaüzenet
  2. Web hibakód (például: 400, 401, 500)
  3. 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:

  1. Hiba a kódfuttatást a szerveren
  2. A hiánya egy adott objektum (például: A terhelési funkció)
  3. 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:

API 1.0.1 verzió ELMA 3.2

Egy példa megvalósításának önkiszolgáló WebAPI

Kapcsolódó cikkek