/// <summary> /// Forespørsel sendt fra Virksomhet for å hente Sertifikater fra Printleverandør i Sikker Digital Post fra /// Oppslagstjenesten. /// </summary> public async Task <PrintSertifikatSvar> HentPrintSertifikatAsynkront() { var requestEnvelope = new PrintCertificateEnvelope(OppslagstjenesteKonfigurasjon.Avsendersertifikat, OppslagstjenesteKonfigurasjon.SendPåVegneAv); Log.Debug("HentPrintSertifikatAsynkront"); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(requestEnvelope.XmlDocument.OuterXml); } var responseDocument = await GetClient().SendAsync(requestEnvelope).ConfigureAwait(continueOnCapturedContext: false); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(responseDocument.Envelope.InnerXml); } var dtoObject = ValidateAndConvertToDtoObject <HentPrintSertifikatRespons>(requestEnvelope, responseDocument); return(DtoConverter.ToDomainObject(dtoObject)); }
/// <summary> /// Forespørsel sendt fra Virksomhet for å hente endringer fra Oppslagstjenesten. /// </summary> /// <param name="fraEndringsNummer"> /// Brukes i endringsforespørsler for å hente alle endringer fra og med et bestemt endringsnummer. /// </param> /// <param name="informasjonsbehov"> /// Beskriver det opplysningskrav som en Virksomhet har definert. Du kan angi flere behov, som for eksempel /// <see cref="Informasjonsbehov.Kontaktinfo" /> eller <see cref="Informasjonsbehov.VarslingsStatus" />. /// </param> public async Task <EndringerSvar> HentEndringerAsynkront(long fraEndringsNummer, params Informasjonsbehov[] informasjonsbehov) { var requestEnvelope = new EndringerEnvelope(OppslagstjenesteKonfigurasjon.Avsendersertifikat, OppslagstjenesteKonfigurasjon.SendPåVegneAv, fraEndringsNummer, informasjonsbehov); Log.Debug($"HentEndringerAsynkront(fraEndringsNummer:{fraEndringsNummer} , informasjonsbehov:{string.Join(", ", informasjonsbehov)})"); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(requestEnvelope.XmlDocument.OuterXml); } var responseDocument = await GetClient().SendAsync(requestEnvelope).ConfigureAwait(continueOnCapturedContext: false); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(responseDocument.Envelope.InnerXml); } var dtoObject = ValidateAndConvertToDtoObject <HentEndringerRespons>(requestEnvelope, responseDocument); return(DtoConverter.ToDomainObject(dtoObject)); }
/// <summary> /// Forespørsel sendt fra Virksomhet for å hente Personer fra Oppslagstjenesten. /// </summary> /// <param name="personidentifikatorer"> /// Identifikasjon av en person. Personidentifikator er et fødselsnummer eller et gyldig D-nummer. /// </param> /// <param name="informasjonsbehov"> /// Beskriver det opplysningskrav som en Virksomhet har definert. Du kan angi flere behov, som for eksempel /// <see cref="Informasjonsbehov.Kontaktinfo" /> eller <see cref="Informasjonsbehov.VarslingsStatus" />. /// </param> public async Task <IEnumerable <Person> > HentPersonerAsynkront(string[] personidentifikatorer, params Informasjonsbehov[] informasjonsbehov) { var requestEnvelope = new PersonsEnvelope(OppslagstjenesteKonfigurasjon.Avsendersertifikat, OppslagstjenesteKonfigurasjon.SendPåVegneAv, personidentifikatorer, informasjonsbehov); var maskertePersonIdentifikatorer = string.Join(", ", personidentifikatorer.Select(p => p.Substring(0, 6) + "*****")); Log.Debug($"HentPersonerAsynkront(personidentifikator:{maskertePersonIdentifikatorer} , informasjonsbehov:{string.Join(", ", informasjonsbehov)}"); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(requestEnvelope.XmlDocument.OuterXml); } var responseDocument = await GetClient().SendAsync(requestEnvelope).ConfigureAwait(false); if (RequestAndResponseLog.IsDebugEnabled && OppslagstjenesteKonfigurasjon.LoggForespørselOgRespons) { RequestAndResponseLog.Debug(responseDocument.Envelope.InnerXml); } var dtoObject = ValidateAndConvertToDtoObject <HentPersonerRespons>(requestEnvelope, responseDocument); var domainObject = DtoConverter.ToDomainObject(dtoObject); return(domainObject.Personer); }