Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Tilføj afsnit med fejlfinding

...

Seal.NET target'er .NET Standard 2.0, så den er kompatibel med .NET 5+ og .NET Core, samt .NET Framework projekter.

Migrering til version 5.0.0 fra ældre

...

versionvar response = client.getPersonInformationAsync(security, header, getPersonInformation);

5.0.0 skifter target til .NET Standard 2.0, som medførerer API ændringer. Derudover er der lavet forsimplinger og oprydning af API'et.

...

I klassen SosiGwTest er der tests af kald til SOSI Gateway. Her er der både test af kald mod createIdCardFromBST og requestIdCardDigestForSigning.

Fejlfinding

Invalid ID-kort ved kald til service

Denne fejl ses hvis man anvender en klient der er genereret ud fra WSDL som indeholder security og ID-kort. Problemet opstår fordi klienten laver om på namespaces i assertion, som gør signaturen invalid.

Løsningen er i stedet at anvende 'IdCardMessageHeader' og evt. 'XmlMessageHeader'.

Her vises et eksempel med en klient genereret til FMK:

Koden der fejler:

Code Block
languagec#
var security = new Security
{
        id = Guid.NewGuid().ToString("D"),
        Timestamp = new FmkClient.Timestamp
        {
         	Created = FiveMinutesAgoUtc().ToLocalTime()
        },
        Assertion = idc.GetAssertion<AssertionType>() // Problemet opstår når denne Assertion bliver serialiseret i kaldet til getPersonInformation nedenunder
};

var response = client.getPersonInformationAsync(security, header, getPersonInformation); // Fejler

Laves om til:

Code Block
using (new OperationContextScope(client.InnerChannel))
{
    OperationContext.Current.OutgoingMessageHeaders.Add(IdCardHeader(idc));
    OperationContext.Current.OutgoingMessageHeaders.Add(XmlHeader(header));
    var response = client.getPersonInformationAsync(null, null, new getPersonInformation);
} 

Hvis der findes en udgave af WSDL som ikke definerer security og ID-kort, kan man undgå null. Alternativt kan man selv lave et overload der ikke tager argumenterne, og selv sætter null i metoden.

Referencer

SAML2.0  https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security

...