Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere



Relaterede dokumenter
Affaldsdatasystem Vejledning i system-til-system integration

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Kald af PingService via SOAPUI

Affaldsdatasystem Vejledning i system-til-system integration

Indholdsfortegnelse. Version Serviceplatformen - opsætningsguide (Eksterne testmiljø) Indledning... 2

Tredjepart webservices

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

Testservice med anvendelse af Microsoft software.

Godkendelsesdato Version Rettet af Rettelse(r)

Digitaliseringsstyrelsen

Webservice kald. System-til-system integration. Ny Easy. ATP 1. februar 2017

NemRefusion VSLight Integrationsvejledning

DIADEM KOM GODT I GANG INTEGRATIONSVEJLEDNING IFT. SIKKERHED OG VERSIONERING AF WEBSERVICES VERSION: STATUS: FRIGIVET DATO: 22.

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Installationsvejledning Installation af Digital Underskrift Enterprise

Indberetning af afregninger teknik

Projekt: NemHandel signaturer

SOSIGW. - Administrationskonsol for SOSIGW Indeks

Vejledning til Retsinformation web services test stubs

Navision Stat (NS 9.3)

Nets Rettighedsstyring

Bilag 4 Klient certifikat opsætning til test af SLS webservice

Serviceplatformens opsætningsguide til leverandører

Nemhandel infrastruktur. Morten Hougesen Christian Uldall Pedersen 8. April 2010

Navision Stat (NS 9.2)

AuthorizationCodeService

GLOBETEAM. Danmarks Miljøportal (DMP) Vejledning til fagsystemejere omkring tilkobling af Java Metrobaseret. Version 1.2

1 Domæne Design valg User Klassediagran 5

VEJLEDNING TIL CERTIFIKATBRUG FOR A- KASSERNES WEBSERVICEINTEGRATION MOD ARBEJDSMARKEDSSTYRELSENS DFDG.

FairSSL Fair priser fair support

Navision Stat 7.0. Webservice til Generisk integrationssnitflade (GIS) Overblik. Side 1 af 21. ØSY/CRA/CPS/ CRA Opr

Oktober 2013 HLG/XIGA. Opstartsvejledning ATS Engros 1/12

Opstartsvejledning ATS aktørudgave

FairSSL Fair priser fair support

Affaldsdatasystem Vejledning i manuel indberetning

Dette dokument beskriver de rekonfigurationer, du skal foretage, hvis du fornyr dit eksisterende funktionscertifikat eller anskaffer et nyt.

Nets - Medarbejder Signatur

Termer og begreber i NemID

FairSSL Fair priser fair support

FairSSL Fair priser fair support

Dokumentation Nets Rettighedsstyring (Attributtjeneste)

IIS 8.0 & 8.5 & 10.0 SSL Administration

Vejledning til leverandørers brug af Serviceplatformen

Civilstyrelsen. Lovtidende. Generisk webservice til søgning af afgørelser - Vejledning. Version:

Specifikationsdokument for servicen MocesWS (islra)

D INTEGRATIONSDESIGN FOR DATAAFTAGERE

BBR OIOXML. Vejledning til OIOXML-snitflade. InputBox.wsdl

Indhold. Senest opdateret:03. september Side 1 af 8

Denne installationsvejledning beskriver hvordan man installerer EFI webservices til kommunikation mellem Navision Stat og Skat.

MM Hul-Igennem-Test i Prod. Information til kunder

FairSSL Fair priser fair support

Webservice til AMU-indberetning til Datavarehuset

Teknisk Dokumentation

Indhold. Senest opdateret : 30. juli Side 1 af 5

Termer og begreber i NemID

STS Driftsvejledning. STS Driftsvejledning

E-BUSINESS SOLUTIONS FROM CSC! "

Assignment #5 Toolbox Contract

Nykredit Portefølje Administration A/S

Specifikationsdokument for OCSP

Ibrugtagning af Fødselsindberetningsservicen på NSP

Norddjurs hjemmefra. Vejledning. Oprettelse af adgang til Citrix fra ipad IT-AFDELINGEN

Brugerguide til Stamdatamodulets administrator-gui KOMBIT

Webservice til GYM-indberetning til DVH

Installation af Bilinfo på Windows

Webservice til GYM-indberetning

Import af CSV AffaldsData indberetninger via Virk.dk

NemHandel infrastruktur. Lars Houe Heinrich Clausen 4. November 2010

LUDUS Web Bestilling og installation af SSL-servercertifikat Introduktion Bestilling af certifikat fra andre udbydere...

Tech College Aalborg. HomePort. Projekt Smart Zenior Home Guide til udvikling af nye adaptere til HomePort

ISA Server 2006 Del 5. Jesper Hanno Hansen

Digitaliseringsstyrelsen

Sikkerhed i Stamdatamodulet KOMBIT

Certifikatpolitik for NemLog-in

Bilag WebService LoginModule (BSKAuth)

STS Designdokument. STS Designdokument

ELEKTRONISK INDBERETNING BØRNEDATABASEN VIA DGWS 13/ VERSION 1.02

Digitaliseringsstyrelsen

DESIGNDOKUMENT (Teknisk dokumentation)

OpenTele datamonitoreringsplatform

Anbefalede testprocedurer

Vejledning til leverandørers brug af Serviceplatformen

Serviceplatformen Vejledning til tilslutning af OS2MO som anvendersystem

Version Dato Beskrivelse /11/2012 Initial version /03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Navision Stat 7.x. Opsætning af NAS 1 til afvikling af GIS-automatisering, GIS med webservice og opgavekø. Overblik. Side 1 af 8

Webservice til EUD-indberetning til DVH

Specifikationsdokument for servicen PID-CPR

OIO standardservice til Journalnotat. Generel servicevejledning. KMD Sag Version KMD A/S Side 1 af 15. September 2013 Version 1.

Integration SF0770_A - SKAT Indkomst - Opslag personoplysninger Integrationsbeskrivelse - version 2.0.0

Sundhedsstyrelsens Elektroniske Indberetningssystem (SEI) Vejledning til indberetning via Citrix-løsning

Vejledning. 1 Indledning. 2 Kontakt Webservicen. Webservice til Optagelse.dk

Finanstilsynets indberetningssystem. Vejledning til indsendelse af xml-filer via sikker e- mail (signeret og krypteret )

Specifikationsdokument for servicen MocesWS (islra)

XML webservice for pensionsordninger. Version 1.0 Draft A

Webservice til upload af produktionstilladelser

Certifikatpolitik. For den fællesoffentlige log-in-løsning. Side 1 af 9 2. december Version 1.1

Præcisering af transportbaseret sikkerhed i Den Gode Webservice

Ny Affaldsbekendtgørelse Affaldsdatasystemet

Transkript:

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Dokument version: 2.0 ADS version: 1.0

Henvendelse vedrørende affald: Miljøstyrelsen Roskilde, Affaldssekretariatet Ny Østergade 7-11 4000 Roskilde Tlf. 72 54 81 81 affaldros@mst.dk Yderligere information: www.mst.dk Forsidefoto: Colourbox Side 2 af 15

Indhold 1 INTRODUKTION... 4 1.1 REFERENCER... 4 2 FORUDSÆTNINGER... 5 2.1 MILJØER... 5 2.2 ADGANG... 6 3 EKSEMPLER... 9 3.1 OPSÆTNING OG BRUG AF SERVICE REFERENCE... 9 3.2 OPSÆTNING OG BRUG AF SERVICE CHANNEL... 13 4 CHANGE LOG... 15 Side 3 af 15

1 Introduktion Dette dokument er en vejledning til at komme i gang med at bruge webservicen der muliggør system-system indberetning for Affaldsdatasystem (ADS). Vejledningen er skrevet for brugere af Visual Studio/.Net og beskriver skridt for skridt, hvorledes man kan opnå adgang til, og anvende servicen. Der gives to eksempler, der viser til forskellige tilgange til at gøre dette. Webservicen og betingelser for brug, er beskrevet i detaljer i [1]. Dette dokument skal kun ses som et supplement til den fulde vejledning. Altså en ekstra vejledning der gælder specifikt for aftagere af system-system webservicen, der implementerer deres løsning ved hjælp af.net. 1.1 Referencer [1] Vejledning til system til system integration, version 2.0, NNIT. Side 4 af 15

2 Forudsætninger Detaljer om forudsætninger og miljøer til brug af webservicen er beskrevet i [1]. Her opsummeres kort de forudsætninger der skal være opfyldt for at komme i gang med brug af servicen. 2.1 Miljøer Affaldsdatasystemet har et TEST og et PROD miljø. TEST miljøet skal benyttes til test og kvalitetssikring af serviceaftagers integration med affaldsdatasystemet. PROD er affaldsdatasystemet produktionsmiljøet. TEST miljø Web service Web service description Affaldsdatasystemets hjemmeside Placering af skemaer Certifikat URL https://test.ws.ads.mst.dk/reportsubmitservice.svc https://test.ws.ads.mst.dk/adsreporting.wsdl https://test.ads.mst.dk https://test.ws.ads.mst.dk/schemas/ Test OCES virksomheds- eller funktionscertifikat. Udsteder skal være: TDC OCES Systemtest CA II PROD miljø Web service Web service description Affaldsdatasystemets hjemmeside Placering af skemaer Certifikat URL https://www.ws.ads.mst.dk/reportsubmitservice.svc https://ws.ads.mst.dk/adsreporting.wsdl https://www.ads.mst.dk https://ws.ads.mst.dk/schemas/ OCES virksomheds- eller funktionscertifikat. Udsteder skal være: TDC OCES CA På testmiljøet er servercertifikatet ikke udstedt af en certificate authority (CA), der på de fleste miljøer ikke vil være trusted per default. For aftagere som anvender et.net/windows miljø, kan det for testmiljøet derfor være nødvendigt at installerer serverens rodcertifikat. Det gøres nemmest ved indtaste url en til WSDL filen i Internet Explorer, klikke på nøglen til venstre for adressefeltet, vælge View certificates og herefter installere certifikatet: Side 5 af 15

2.2 Adgang For at opnå adgang, skal følgende være opfyldt: Side 6 af 15

Virksomheden skal anskaffe et virksomhedscertifikat (VOCES) eller alternativt, et funktionscertifikat (FOCES). Bemærk at det er nødvendigt at rekvirere forskellige certifikater for de to miljøer (jf. ovenstående). Certifikater kan rekvireres hos DanID: https://danid.dk/export/sites/dk.danid.oc/da/erhverv/ Derefter skal virksomheden registreres som systembruger i Affaldsdatasystemet af Affaldssekretariatet (72 54 81 81). Først når indberetning fungerer i TEST miljø åbnes for adgang til Prod miljø. Registreringen sker per CVR-nummer, som skal matche det CVR nummer, der er angivet i aftagerens certifikats subject felt: Bemærk at hele webservice sitet kræver autentificering med et validt certifikat. Det gælder også tilgang til webservice beskrivelse og skemaer. Vil man derfor teste om et rekvireret certifikat er gyldigt for webservicen, kan man forsøge at tilgå WSDL filen, f.eks. i en browser, og autentificerer sig med sit certifikat. Er certifikatet ikke validt, eller ikke den rigtige type, vil ADS svare med HTTP status kode 403 Forbidden. For testmiljøet gælder særligt at brugere der endnu ikke har rekvireret et testcertifikat, kan anvende et af de eksempler på testcertifikater som DanID stiller til rådighed: https://www.certifikat.dk/export/sites/dk.certifikat.oc/da/developer/eksempler/ Side 7 af 15

Disse certifikater er tilknyttet DanID s CVR-nummer 30808460, for hvilken der er oprettet en system-system bruger i ADS. Anvendes disse certifikater, kan der altså kun indsendes indberetninger for dette CVR nummer, og det tilhørende P-nummer 1013555806. Brug af eksempelcertifikaterne bør derfor kun være i forbindelse med udvikling, og for at bekræfte funktionalitet. Side 8 af 15

3 Eksempler Der findes mange måder at opnå adgang til og anvende en webservice. Disse vil også variere afhængigt af hvilken version af VS og.net frameworket man anvender. Disse eksempler anvender VS2008,.Net 3.5, og C# version 3.0, i et console projekt. Nedenstående afsnit viser eksempler på to forskellige fremgangsmåder: At anvende en service reference. En fremgangsmåde der lader VS autogenere klasser og metoder, der kan anvendes til at kalde webservicen. At definerer et endpoint, binding og en request SOAP besked, der anvendes ved at oprette en såkaldt channel til webservicen, og kalde den derigennem. Altså en fremgangsmåde der er tættere på transport laget af et servicekald. En fordel ved denne fremgangsmåde, kan være at det tillader at definerer indholdet af den sendte request SOAP besked, som ren XML. 3.1 Opsætning og brug af service reference Dette eksempel viser skridt for skridt, hvordan man i et nyoprettet Visual Studio projekt kan opnå adgang til system-system webservicen, og anvende den til at sende en indberetning, ved at anvende en service reference. 1. Installerer det anskaffet certifikat et passende sted i dit certificate store, f.eks. Current user/personal.. 2. Verificer at du kan oprette en SSL forbindelse til webservice sitet, ved at åbne stien til WSDL filen https://test.ws.ads.mst.dk/adsreporting.wsdl i en browser. Du bør blive prompted for et certifikat og password. 3. Opret et nyt Visual Studio projekt og tilføj en ny service reference: 4. Indtast URL til WSDL en filen: https://test.ws.ads.mst.dk/adsreporting.wsdl og tryk Go. Du bliver prompted for certifikat og password. Side 9 af 15

5. Hvis et validt certifikat er valgt, vil VS kunne liste det operations webservicen udstiller: 6. Navngiv referencen og tryk OK. 7. Verificer at reference.cs er blevet oprettet, og der er autogenereret klasser, samt at WSDL og skema filer er hentet fra webservicen, ved at klikke på Show all files i solution explorer en, og udvide referencen: Side 10 af 15

8. Du er nu klar til at oprette instanser af de autogeneret klasser, der kan anvendes i kald til webservicen. Eksempelvis kan man anvende instanser af ReportPortTypeClient og CollectorAndReceiverInputType til at indsende en Indsamler og modtager indberetning: Side 11 af 15

I dette eksempel oprettes et instans af klienten, og der angives et certifikat som antages at være installeret i Current user/personal, og kan identificeres på thumbprint. Der indsendes en indberetning for året 2010, og for produktionsnummeret 1004800695. //Create instance of web service client var client = new ReportPortTypeClient(); //Set certificate to use client.clientcredentials.clientcertificate.setcertificate(storelocation.currentuser, StoreName.My, X509FindType.FindByThumbprint,"e8 f0 c6 f1 6f 28 49 dc d9 af 79 9d 72 66 70 7d 52 52 47 07"); //create instance of request type, for submitting a "Collector and reciever" report var request = new CollectorAndReceiverInputType(); CollectorAndReceiverReportType report = GenerateReport(); request.collectorandreceiverreport = new[] report ; request.productionunitidentifier = "1004800695"; request.reportyear = "2010"; try //Submit report to service ReportSubmissionResult response = client.submitcollectorandreceiverreports(request); //Output result to console if (response!= null) Console.WriteLine(response.serviceResponse); else Console.WriteLine("Service returned empty response"); catch (System.ServiceModel.FaultException exception) Console.WriteLine(String.Format("The service returned a fault message. Code: 0. Message: 1", exception.code.name, exception.message)); catch (Exception exception) Console.WriteLine(exception.Message); Side 12 af 15

3.2 Opsætning og brug af service channel Nedenstående kode, et eksempel på anvendelse af webservicen, ved at definerer et endpoint, binding og en request SOAP besked, der anvendes ved at oprette en såkaldt channel til webservicen, og kalde den derigennem. Altså et eksempel der kalder servicen, uden at anvende autogenereret kode. Der angives et certifikat som antages at være installeret i Current user/personal, og kan identificeres på thumbprint. const string url = "https://test.ws.ads.mst.dk/reportsubmitservice.svc"; //Create binding for web service, with certificate authentication var binding = new BasicHttpBinding(); binding.security.mode = BasicHttpSecurityMode.Transport; binding.security.transport.clientcredentialtype = HttpClientCredentialType.Certificate; //Create end point at web serice url var address = new EndpointAddress(url); //Create new channel factory, using interface which defines the service contract var cf = new ChannelFactory<IReportSubmitService>(binding, address); //Set credentials on channel = certificate expected to be found in Current user/personal" cf.credentials.clientcertificate.setcertificate(storelocation.currentuser, StoreName.My, X509FindType.FindByThumbprint, "e8 f0 c6 f1 6f 28 49 dc d9 af 79 9d 72 66 70 7d 52 52 47 07"); cf.credentials.supportinteractive = true; //Open channelfactory and create service channel cf.open(); IReportSubmitService service = cf.createchannel(); //Create XML reader for, which reads content of SOAP body to send in request var xmltextreader = new XmlTextReader(@"AdsTestRequestSoapMessageBody.xml"); //Create request message var request = Message.CreateMessage(MessageVersion.Soap11, "Message_From_Ads_Test_Program", xmltextreader); //Call web service, using constructed message Message response = service.processmessage(request); //Close the channel factory if (cf.state == CommunicationState.Opened) cf.close(); //Is response empty? if (response.isempty) Console.WriteLine("Service returned empty response"); return; //Did the service return a fault? if (response.isfault) Console.WriteLine("The service returned a fault message"); //Deserialize the body contents of the response message var ms = new MemoryStream(); using (var memwriter = XmlDictionaryWriter.CreateTextWriter(ms, Encoding.UTF8, false)) response.writebodycontents(memwriter); memwriter.flush(); Side 13 af 15

//Write the message to console Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray())); For at oprette en channel er det nødvendigt at definerer et interface, der definerer service kontrakten. Her kan man udnytte at ADS webservicen er en catch all, der fanger alle typer kald, og behandler dem afhængigt af kaldets body. Dermed kan man nøjes med at definerer en operation: using System.ServiceModel; using System.ServiceModel.Channels; namespace NNIT.AdsReportingServiceTest [ServiceContract] public interface IReportSubmitService [OperationContract(IsOneWay = false, Action = "*", ReplyAction = "*")] Message ProcessMessage(Message message); I eksemplet læser vi selve indholdet af den request SAOP besked der sendes, fra en fil. Denne fil skal således indeholde XML der matcher de skemaer der er defineret i webservicebeskrivelsen og beskrevet i [1]. Vil man f.eks. sende en request, der sender en indsamler og modtager indberetning, kunne indholdet se således ud: <CollectorAndReceiverInput xmlns="http://rep.oio.dk/mst.dk/xml/schemas/2010/04/01/"> <ReportYear>2010</ReportYear> <ProductionUnitIdentifier xmlns="http://rep.oio.dk/cvr.dk/xml/schemas/2005/03/22/">1004800695</productionunitidentifier> <CollectorAndReceiverReport> <WasteProducer> <WasteProducerMunicipality> <MunicipalityCode xmlns="http://rep.oio.dk/cpr.dk/xml/schemas/core/2005/03/18/">0151</municipalitycode> </WasteProducerMunicipality> </WasteProducer> <WasteAmount> <WasteMeasure>12,121</WasteMeasure> <MeasurementTypeCode>1</MeasurementTypeCode> <MeasurementText>Container</MeasurementText> </WasteAmount> <EAKcode>12.12.12</EAKcode> <WasteInformation> <WasteCode>E21</WasteCode> </WasteInformation> <TreatmentOfWaste> <WasteActivityCode>55</WasteActivityCode> <FinalProcessingIndicator>true</FinalProcessingIndicator> <DisposalCode>D6</DisposalCode> </TreatmentOfWaste> </CollectorAndReceiverReport> </CollectorAndReceiverInput> Side 14 af 15

4 Change log Date Version Beskrivelse Initialer 2010-09-27 1.0 Første version LNJa 2010-09-27 1.1 Tilføjet afsnit der viser brug af service channel LNJa 2010-10-20 1.2 Mindre rettelser LNJa 2011-02-04 2.0 Revideret version. Indeholdende mindre rettelser og kontaktinformation. LNJa Side 15 af 15