Delphi mester, evolúció jelenti webes alkalmazások fejlesztése Delphi (dokumentáció, forráskód,

A Web Services

Mi az a Web Service

SOAP protokoll

POST / példák HTTP / 1.1
User-Agent: Radio Userland / 7.0 (WinNT)
Host: localhost: 81
Content-Type: text / xml; charset = utf-8
Content-hossz: 474
SOAPAction: "/ példák"

Tekintsük a kérés fejlécében. URI méret nincs megadva, az első query string. Például ez lehet, hogy csak / vagy, mint a példánkban / példát.
User Agent és Host meg kell határozni. Content-Type, tehát kérheti a tartalom típusát, persze, text / xml. Content-Length - Lwire kérelmet.
SoapAction - értéke ezen a területen használják az üzenetet küldeni, akkor a helyes processzoros szerver üzeneteket. Jellemzően SoapAction érték egybeesik az első URI a query string.
A kérelem test egy dokumentum XML formátumban. Root tag SOAP-ENV: Boríték körülveszi a címkét SOAP-ENV: Body, amelyek a hívott eljárás. Ebben a példában egy üzenetet ír le a hívás kérés getStateName eljárás paraméter statenum egyenlő 41.
szerver egy sikeres hívás a következő:

Csak megemlítjük a legfontosabb pontokat:
  • Namespace leírásban válasz (tag ) Meg kell egyeznie a névtér a lekérdezés. Ebben a példában a namespace - m
  • A címke neve leíró választ formálják a szó hozzáadása válasz a neve a hívott eljárás. A mi esetünkben ez m: getStateNameResponse

Fejlődő Web Services kiszolgáló Delphi6

Delphi 6 lehetővé teszi, hogy hozzon létre a kiszolgáló és a Web Services ügyfelek. Kezdjük figyelembe véve a létrehozása a szerveren.
Létrehozása Web Services kiszolgáló Delphi6 az alábbi lépéseket:
  1. Leírás Server felület, vagyis a módszer, amely elérhető lesz a hívás az ügyféllel;
  2. Végrehajtásának kiszolgáló módszerek;
  3. Projekt létrehozása Delphi és a felvételét az eredmények az első két lépést.

Következetesen leírják az egyes szakaszokban.

Leírás Server Interface


A Delphi, ha létrehoz egy Web Services kiszolgáló módszerek állnak rendelkezésre a hívó az ügyfél le invokable interfészek. Invokable Interface - egy interfész, amely a rendelkezésre álló módszerek RTTI (típus információ futási időben). Annak érdekében, hogy a felület egy hagyományos invokable elég megadni összeállítása irányelvet. Ezután az összes leszármazottai, és a felület is fog tartalmazni RTTI. A VCL hierarchia már rendelkeznek ilyen IInvokable felület. Így írásakor a kiszolgáló legkönnyebben öröklik a felületet Iinvokable. Ezen felül, akkor regisztrálnia kell a felületet a hívási adatbázis. Regisztráció lehetővé teszi, hogy a szerver meg egy osztályt, amely megvalósítja a módszerek a felület, és az ügyfél megszerzése módszer leírása szerver által támogatott. Regisztráció történik meghívásával InvRegistry.RegisterInterface inicializálási részén egy modult.
Mivel felület használata nem csak a szerver, de az ügyfél, kívánatos meghatározni, hogy egy külön Delphi egység.
Például, akkor dolgozzon ki egy szervert, amely elvégzi átalakítását pénzt dollárt rubelt, és fordítva. Az IDE Delphi Select File / New / Unit menüben. Az így kapott üres modul határozza meg az interfész a szerver:

Megjegyezzük, hogy a string [ „”] - ez a GUID felület, például helyes működéséhez szükség van-e rá, és nem kézzel írja vagy másolja a szöveget a fenti. GUID generáció az IDE Delphi aktiválódik a Ctrl + Shift + G
Abban az esetben, az adatok előállítását skalár típusú interfész funkciók SOAP üzenetek automatikusan történik, különösebb erőfeszítés nélkül részéről a programozó. Ha a használni kívánt összetett adattípusok, mint a statikus tömbök, készletek és osztályok, akkor létre kell hozni, és regisztrálja egy osztályt, amely örökli a TRemotableXS és felülírás mód XSToNative és NativeToXS. Ezek a módszerek átalakítani a húr és a bináris adatot egy egymást.

Végrehajtásának kiszolgáló módszerek

Ha nem szeretnénk, hogy örökölni osztályt TInvokableClass, akkor létre kell hozni, és regisztrálja a class factory módszer, amely képes lesz arra, hogy készítse el az esetekben az osztály. A mód legyen a típus TCreateInstanceProc = eljárás (out obj: TObject); Ebben az esetben képesnek kell lennie arra, hogy megszüntesse magát, ha a kapcsolatok száma használja az ügyfelek nulla lesz. Ha regisztrál ebbe az osztályba tartozó eljárás InvRegistry.RegisterInvokableClass második paraméter átviteléhez szükséges a nevét a gyár módszer osztályban.

Létrehozása Web Services Application projekt Delphi

Egy utolsó lépés - létrehozása az alkalmazási projekt. Az IDE a menüpont kiválasztása File / New / Other fül és ikon WebServices SOAP Server Application. Web Services alkalmazás formátum kiválasztása párbeszédablak jelenik meg. Mi fogja kiválasztani a CGI formátumban. Ebben az esetben a projekt jön létre a webes modul, amely három részből áll: HTTPSoapDispatcher, HTTPSoapPascalInvoker, WSDLHTMLPublish.

THTTPSoapDispatcher veszi és feldolgozza a SOAP üzeneteket továbbítja azokat hivatkozhat interfészek regisztrált az alkalmazást. Így THTTPSoapDispatcher vezetője felelős a recepción, a forgalmazás és a SOAP üzenetek küldésére.
Értelmezés kérések és hívás interfész alkalmazott módszerek más és más komponens meghatározott Diszpécser tulajdonság (HTTPSoapPascalInvoker1). THTTPSoapDispatcher automatikusan regisztrálja magát a Web modul avtodispetchera. Ebben az esetben minden elküldött kérelmek esetében THTTPSoapDispatcher, amely takarít meg attól, hogy hozzon létre egy webes modul rakodók kéréseket.

Delphi mester, evolúció jelenti webes alkalmazások fejlesztése Delphi (dokumentáció, forráskód,

WSDLHTMLPublish1 - hatóanyag generál, és kiadja az ügyfél kérésére szerver interfész leírása.
Ezután hozzá kell csatlakoztatni a projekt fájlokat a leírás és végrehajtása a felületen. Ehhez válassza ki a menüpontot Project / Add a projekt, és a megjelenő ablakban válaszd a modulok leírását és végrehajtását az interfész módszerek IDE. Lefordíthatod a projekt, és tegye a kapott futtatható fájl a könyvtárban a CGI szerver Web.
A szerver készen áll a működésre.

Fejlődő Web Services ügyfél Delphi6

Delphi mester, evolúció jelenti webes alkalmazások fejlesztése Delphi (dokumentáció, forráskód,

Mentse el egy fájlba Client.xml. Tehát, ilyen vagy olyan módon adatait tartalmazó fájlt XML formátumban bizonyult a kezünkben, szükségessé vált, hogy exportálni Delphi. Amikor exportálja generál Delphi modul interface leírást Object Pascal. Válassza ki a Fájl menü / New / Other, lépni WebServices fülre, és válassza ki a Web Services importőr ikonra. Ebben az esetben a képernyő leírja az import párbeszédablak.

Delphi mester, evolúció jelenti webes alkalmazások fejlesztése Delphi (dokumentáció, forráskód,

A Tallózás gomb a párbeszédre, megjegyezzük Client.xml fájlt korábban kapott, majd nyomja meg a Generate gombra. Opa és Delphi modul interfész definíciója kész. Mi jár a második szakasz - a közvetlen teremtés az ügyfél. Hozzon létre egy üres új alkalmazás - File / New / Application. A fő üzenet formájában bemeneti vonal és két gomb alkatrész HTTPRIO Bookmarks WebServices.

Delphi mester, evolúció jelenti webes alkalmazások fejlesztése Delphi (dokumentáció, forráskód,

Balról projektet indít elvégezni, és győződjön meg arról, hogy működik. Ebben a cikkben, mi tekinthető csak a legegyszerűbb példa. Remélem ez lesz az Ön számára jól indult az új webes technológiák.