Download presentation
Presentation is loading. Please wait.
1
X-tee liideste arendajate koolitused
Nimi Kuupäev
2
Ettevalmistused Internet Infomation Services (IIS) Server Keskkond
Ava kasutades Control Panel'it Programs and Features ja vali Turn Windows features on or off. Lülita sisse järgmised komponendid: Common HTTP Features Directory Browsing and Static Content Application Development Features .NET Extensibility ASP.NET .NET Framework Advanced Services WCF Services HTTP Activation
3
Ettevalmistused Rakendus: Teenuseosutaja adapter
Kasutame WCF Service Application malli Producer rakenduse loomiseks. Eemaldame vaikimisi loodud failid (IService1.cs, Service1.svc,Service1.svc.cs) Loome uus kaust WSDL faili jaoks nimega wsdl ja lisame sinna näidis fail. Vali projekt Producer ja kutsu välja kontekstmenüü, kus tuleb valida Add-> New Folder - > kausta nimi: wsdl Vali projekt Producer ja kutsu välja kontekstmenüü, kus tuleb valida Add->Existing item- > WSDL fail. Lisame viide WcfExtensions.dll failile. References -> Kontekstmenüüs Add reference -> Avatud aknas Reference Manager tuleb valida Assemblies -> Browse -> vali WcfExtensions.dll faili.
4
Rakendus Lisame teenuse andmeklassid ja liides:
Teenuseosutaja adapter: koodi genereerimine Lisame teenuse andmeklassid ja liides: Kliki projekti alamkataloogi References nuppu Kontekstmenüüst valime Add service reference. Väljale Address paneme teenuse kirjelduse faili nime koos kataloogi nimega nt: F:\Workspace\NET\XRoad\Samples\Producer\wsdl\person_register.wsdl Väljale Namespace tuleb mingi mõistlik nimetus teenuse objektide nimeruumile. nt: pplService Kliki Advanced nuppu Kontrolli, et Allow generation of asynchronous operations märkeruudul ei ole linnukest pandud (X-tee ei toeta asünkroonseid meetodeid) Pane linnuke Always generate message contracts märkeruudule Kliki OK
6
Rakendus Lisame teenuse liidest realiseeriva faili:
Teenuseosutaja adapter: teenuse implementeerimine Lisame teenuse liidest realiseeriva faili: Rakenduse kontekstmenüüs valige „Add“ -> „New Item ...“ -> „WCF Service“ - > PeopleRegister.svc Sellega tekkib ka IPeopleRegister.cs, seda tuleb eemaldata. Loodud klassile määrame genereeritud liides using System; using Producer.pplService; namespace Producer { public class PeopleRegister : pplService.person_register public personListResponse personList(personListRequest1 request){ throw new NotImplementedException(); }
7
Rakendus Lisame personList’le lihtsama realisatsiooni:
Teenuseosutaja adapter: teenuse implementeerimine Lisame personList’le lihtsama realisatsiooni: public personListResponse personList(personListRequest1 request){ return new personListResponse{ client = request.client, service = request.service, id = request.id, protocolVersion = request.protocolVersion, userId = request.userId, response = new personListResponseResponse{ person = new person{ birthDate = DateTime.Now, firstName = "Juhan", lastName = "Tamm", personContact = new contact{ address = "Metsa 12", = new phone = new []{"333333"} } };
8
Rakendus Teenuseosutaja adapter: teenuse implementeerimine Lisame teenust realiseerivale klassile DispatchByBodyElementBehavior Iga operatsioon tuleb eraldi märkida atribuudiga DispatchBodyElement [DispatchByBodyElementBehavior] public class PeopleRegister : pplService.person_register { [DispatchBodyElement("personList", " public personListResponse personList(personListRequest1 request) ... } [DispatchBodyElement(“operationName", “producerNamespace")] public OperationResponseMessage operationName(OperationRecuestMessage message)
9
Rakendus Tuleb Web.Confi failis rakenda WCF laiendus:
Teenuseosutaja adapter: teenuse seadistamine Tuleb Web.Confi failis rakenda WCF laiendus: Registreeri uus laiendus(Microsoft Service Configuration Editor) Vali Advanced -> Extensions -> behavior element extensions -> New ... Veergu Name: CustomMessageFilter. Veeru Type sisse tuleb valida EndpointBehaviorExtension tüüp, mis asub WcfExtensions.dll’sees Loo uus teenuse Endpoint Behaviour kasutades registreeritud laiendust Vali Advanced -> Endpoint Behaviors -> New Endpoint Behavoir Configuration Name: CustomMessageFilterBehavior Alas Behavior element extension position kliki Add ... Lisa CustomMessageFilter element.
10
Rakendus Teenuseosutaja adapter: teenuse seadistamine
Registreeri teenuse endpoint Service -> Create a New service Service type – kliki Browse … ja vali Producer.PeopleRegister tüüp Producer.dll’ist Next Contract väli peab olema automaatselt täidetud. Vali New binding configuration Communication mode : HTTP Method of interopability : Basic Web Services interopability Jäta väli Address tühjaks Finish Määra varem loodud Endpoint Behaviour uuele teenuse endpointle. Service -> Producer.PeopleRegister -> Endpoints -> (Empty Name) BehaviorConfiguration: CustomMessageFilterBehavior
11
Rakendus Teenuseosutaja adapter: teenuse seadistamine
Salvesta seadistused File -> Save
12
Rakendus Enne teenuse kasutamist tuleb see IIS serverile paigutada:
Teenuseosutaja adapter: teenuse publitseerimine Enne teenuse kasutamist tuleb see IIS serverile paigutada: Kompileeri rakendus Vali rakenduse fail ja kontekstmenüüst kliki Publish. Tekib Publish Web aken. Vali Custom ja anna profiilile nimi. Publish method: File System Target location: IIS rakenduse kaustas loo uus kataloog ja vali see nt: C:\inetpub\wwwroot\persons Next Configuration: Release Next -> Publish
13
Rakendus Teenuseosutaja adapter: teenuse publitseerimine
Loo uus katalog IIS serveri peal. Tee lahti IIS Manager Vali Sites kontekstmenüüst Add Website. Tekib uus aken, kus tuleb sisestada kataloogi konfiguratsioon Sitename: persons Application Pool: vali pool millel .NET raamistiku versioon on sama/uuem kui rakenduse target raamistik. Physical path: punktis 1.d valitud kaust IP address: lokaalse masina IP-aadress OK
14
Rakendus Rakendus: Teenusekasutaja adapter: koodi genereerimine
Kasutame Console Application malli Consumer rakenduse loomiseks. Lisame teenuse andmeklassid ja liides: Kliki projekti alamkataloogi References nuppu Kontekstmenüüst valime Add service reference. Väljale Address paneme teenuse kirjelduse faili nime koos kataloogi nimega nt: F:\Workspace\NET\XRoad\Samples\Producer\wsdl\person_register.wsdl Väljale Namespace tuleb mingi mõistlik nimetus teenuse objektide nimeruumile. nt: pplService Kliki Advanced nuppu Kontrolli, et Allow generation of asynchronous operations märkeruudul ei ole linnukest pandud (X-tee ei toeta asünkroonseid meetodeid) Pane linnuke Always generate message contracts märkeruudule Kliki OK
15
Rakendus Tuleb Web.Confi failis muuda kliendi endpoint seadistused:
Teenusekasutaja adapter: enpoint seadistamine Tuleb Web.Confi failis muuda kliendi endpoint seadistused: Muuuda aadress(Microsoft Service Configuration Editor): Vali Client -> Enpoints -> vaikimisi (Empty name) -> Address Sisesta õige teenuseosutaja aadress
16
Rakendus Loo kliendi objekt ja kutsuda välja teenuse meetodid:
Teenusekasutaja adapter: kliendi loomine Loo kliendi objekt ja kutsuda välja teenuse meetodid: Päis objektid: var protocolVersion = "4.0"; var id = Guid.NewGuid().ToString(); var userId = "EE "; var service = new XRoadServiceIdentifierType { xRoadInstance = "ee-dev", memberClass = "COM", memberCode = " ", subsystemCode = "aktorstest-db01", serviceCode = "personList", serviceVersion = "v1", objectType = XRoadObjectType.SERVICE }; var client = new XRoadClientIdentifierType { subsystemCode = "misp2-01", objectType = XRoadObjectType.SUBSYSTEM
17
Rakendus Teenusekasutaja adapter: kliendi loomine
Päringu objekt ja klient objekt: Teenuse väljakutse var request = new personList { request = new personListRequest { givenName = "", surname = "Tamm" } }; var serviceClient = new pplService.aktorstestPortTypeClient(); var response = serviceClient.personList( client: ref client, service: ref service, protocolVersion: ref protocolVersion, id: ref id, userId: ref userId, personList1: request);
18
Aitäh! Eesnimi Perenimi eesnimi.perenimi@amet.ee
X-tee liideste arendajate koolitusmaterjalid on valminud EL struktuuritoetuse toetusskeemist “Infoühiskonna teadlikkuse tõstmine” Euroopa Regionaalarengu Fondi rahastusel.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.