difi / sikker-digital-post-klient-dotnet

.Net klient for integrasjon mot digital post til innbyggere
http://begrep.difi.no/SikkerDigitalPost/
Apache License 2.0
11 stars 6 forks source link

Tilgjengelighet på Kvitteringsfelter #145

Closed Landstad closed 8 years ago

Landstad commented 8 years ago

Som diskutert per telefon med @aberner.

Vi har et oppsett hvor en Adapter, som bruker SDP-klienten, fungerer som et abstraksjonslag mellom back-end og DIFI. Kvitteringer (av denne typen https://github.com/difi/sikker-digital-post-klient-dotnet/blob/master/Difi.SikkerDigitalPost.Klient.Domene/Entiteter/Kvitteringer/Kvittering.cs) blir derfor konvertert til en annen form før den sendes til back-end.

For at back-end skal kunne bekrefte en kvittering, ville det vært nyttig for oss å ha muligheten til å sette Kvittering.MeldingsId og eventuelle andre felter som er i bruk for å sjekke at en snakker om samme kvittering. Da kunne vi bekreftet Kvitteringen i Adapter fra Back-end.

Tanken er altså å eksempelvis lage noe a la følgende:

AdapterKvittering GetKvitteringOgBekreftForrige(string meldingsIdForrige){

var forrigeKvittering=new Kvittering(); forrigeKvittering.MeldingsId=meldingsIdForrige;

var nyKvittering=HentKvitteringOgBekreftForrige(<kvitteringsforespørsel>,forrigeKvittering);

return opprettAdapterKvitteringFraKvittering(nyKvittering);

}

Men dette er p t ikke mulig siden det ikke er public setter på meldingsId.

  1. Er det mulig å få public setter på meldingsId?
  2. Vil dette være en løsning, altså: Dersom vi oppretter en Kvittering med riktig meldingsId og bekrefter denne, vil den bli matchet mot original kvittering?
asjafjell commented 8 years ago

Hei, @Landstad.

Om alle felter blir mulig å sette på kvitteringen, så skal dette være mulig. Jeg ser ingen umiddelbare hindringer for dette.

Landstad commented 8 years ago

Topp @asjafjell. Blir det bygget en ny versjon hvor dette er gjort?

Hva blir brukt på serversiden for å matche bekreftelse på kvittering til kvittering?

asjafjell commented 8 years ago

Hei! Jeg tar en kikk på denne nå.

asjafjell commented 8 years ago

Har tatt en rask kikk her nå, og ser at det er litt mer jobb enn antatt, så får sett på den på slutten av morgendagen, eller torsdag. Håper det går fint.

Landstad commented 8 years ago

Hei, fikk du sett på denne i går eller dag @asjafjell?

asjafjell commented 8 years ago

Den er nok klar i starten av neste uke, så det er bare å følge med her.

asjafjell commented 8 years ago

Da skal denne være fikset i v1.4.5875.28756-beta, @Landstad. Test den ut og gi tilbakemelding. Initialiserer du med konstruktør så har du alle nødvendige felter for å bekrefte kvitteringen.

Landstad commented 8 years ago

Hei,

Hvilken konstruktør er det snakk om? Har du et eksempel på hvordan en kan bekrefte en kvittering?

var leveringsKvittering=new LeveringsKvittering(meldingsId); sikkerDigitalPostKlient.Bekreft(leveringsKvittering);

man. 1. feb. 2016 kl. 16.07 skrev Aleksander Sjåfjell < notifications@github.com>:

Da skal denne være fikset i v1.4.5875.28756-beta https://www.nuget.org/packages/difi-sikker-digital-post-klient/1.4.5857.16268-beta. Test den ut og gi tilbakemelding. Initialiserer du med konstruktør så har du alle nødvendige felter for å bekrefte kvitteringen.

— Reply to this email directly or view it on GitHub https://github.com/difi/sikker-digital-post-klient-dotnet/issues/145#issuecomment-178007728 .

asjafjell commented 8 years ago

Hvis du kaller konstruktøren med tre argumenter så har du alle feltene som du skal ha for en kvittering. Denne kan du så sende inn i bekreft-metoden. Husk å huke av for «include prerelease når du installerer nugetpakken» Det er enda ikke i produksjon.

ALEKSANDER SJÅFJELL CONSULTANT +47 456 01 212

On 02 Feb 2016, at 09:08, Landstad notifications@github.com<mailto:notifications@github.com> wrote:

Hei,

Hvilken konstruktør er det snakk om? Har du et eksempel på hvordan en kan bekrefte en kvittering?

var leveringsKvittering=new LeveringsKvittering(meldingsId); sikkerDigitalPostKlient.Bekreft(leveringsKvittering);

man. 1. feb. 2016 kl. 16.07 skrev Aleksander Sjåfjell < notifications@github.commailto:notifications@github.com>:

Da skal denne være fikset i v1.4.5875.28756-beta https://www.nuget.org/packages/difi-sikker-digital-post-klient/1.4.5857.16268-beta. Test den ut og gi tilbakemelding. Initialiserer du med konstruktør så har du alle nødvendige felter for å bekrefte kvitteringen.

— Reply to this email directly or view it on GitHub https://github.com/difi/sikker-digital-post-klient-dotnet/issues/145#issuecomment-178007728 .

— Reply to this email directly or view it on GitHubhttps://github.com/difi/sikker-digital-post-klient-dotnet/issues/145#issuecomment-178437362.

Landstad commented 8 years ago

Stemmer det at det er altså snakk om følgende konstruktør, og at jeg må hente ut og lagre bodyReferanceUri og digestValue for å kunne bekrefte original kvittering?

public Leveringskvittering(Guid konversasjonsId, string bodyReferenceUri, string digestValue);

Landstad commented 8 years ago

Og, i tilfelle bodyReferenceUri og digestValue er noe som dere har hentet ut da dere testet dette før bygg, har dere noe eksempelkode på dette? For jeg gjetter dette er noe som ligger i rådata og det hadde jo vært konge å slippe å finne opp hjulet på nytt (xml-parser, tolke xml-en cetera).

asjafjell commented 8 years ago

Det stemmer! Det er feltene du må ta vare på. ALEKSANDER SJÅFJELL CONSULTANT +47 456 01 212

On 02 Feb 2016, at 09:54, Landstad notifications@github.com<mailto:notifications@github.com> wrote:

Stemmer det at det er altså snakk om følgende konstruktør, og at jeg må hente ut og lagre bodyReferanceUri og digestValue for å kunne bekrefte original kvittering?

public Leveringskvittering(Guid konversasjonsId, string bodyReferenceUri, string digestValue);

— Reply to this email directly or view it on GitHubhttps://github.com/difi/sikker-digital-post-klient-dotnet/issues/145#issuecomment-178454015.

asjafjell commented 8 years ago

Siden jeg ikke har hørt noe mer her, regner jeg med denne er løst, @Landstad. Det kan komme små endringer i API etter dette, da dette bare ble releaset i beta. Jeg lukker issue, og så får du lage et nytt om nye problemer oppstår.

Landstad commented 8 years ago

Jeg sendte @asjafjell en mail om det, men jeg får ikke dette til å fungere.

De to kodelinjene under gir ikke samme resultat (her er altså forretningsKvittering kvitteringen jeg får fra dere):

1 (fungerer): sdpk.Bekreft(forretningKvittering);

2 (fungerer ikke): sdpk.Bekreft(new Leveringskvittering(forretningsKvittering.KonversasjonsId,forretningsKvittering.BodyReferenceUri,forretningsKvittering.DigestValue));

Har dere noen kodelinjer som viser hvordan dere fikk dette til å fungere da dere testet det?