Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Her vises et vejledende eksempel hvor FMK kaldes ved brug af føderationen:

Code Block
languagec#
var userInfo = new UserInfo(
    cpr,
    givenName,
    surName,
    email,
    occupation,
    role,
    authCode
);

var idCardRequest = SOSIFactory.CreateNewUserIdCard(
    systemName,
    userInfo,
    new CareProvider(systemCareProviderIdFormat, systemCareProviderId, systemCareProviderName),
    AuthenticationLevel.MocesTrustedUser,
    username,
    password,
    userCertificate,
	alternativeIdentifier 
); 

SOSIFactory factory = CreateFactory(); 
idCardRequest.Sign<Assertion>(factory.SignatureProvider);
var idc = SealUtilities.SignIn(
    idCardRequest,
    systemName,
    "http://test2.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService"
);

var client = new MedicineCardPortTypeClient(MedicineCardPortTypeClient.EndpointConfiguration.MedicineCardPort, new EndpointAddress(new Uri("https://test2.fmk.netic.dk/fmk12/ws/MedicineCard")));
var response = client.GetMedicineCard_2015_06_01Async(
        Security: SecurityHeaderUtil.MakeSecurityUsingDgwsTypes(idc),
        Header: requestHeader,
        WhitelistingHeader: makeWhitelistingHeader,
        GetMedicineCardRequest: new GetMedicineCardRequestType
        {
            PersonIdentifier = new PersonIdentifierType { source = "CPR", Value = requestCpr }
        }
);

...

Code Block
languagec#
var idCardRequest = SOSIFactory.CreateNewUserIdCard(
    "systemName",
    new UserInfo(requestCpr, givenName, surName, email, occupation, role, authorizationcode),
    new CareProvider(careProviderIdFormat, careProviderId, careProviderName),
    AuthenticationLevel.MocesTrustedUser, userName, password, user.Certificate, "alternativeIdentifier");

var binding = new CustomBinding();
binding.Elements.Add(new TextMessageEncodingBindingElement(MessageVersion.Soap11WSAddressingAugust2004, Encoding.UTF8));
binding.Elements.Add(new HttpTransportBindingElement());  await LoginToGateway(idCardRequest, certificate);

var client = new Fmk.MedicineCardPortTypeClient(     
	binding, // MedicineCardPortTypeClient.EndpointConfiguration.MedicineCardPort kan evt. bruges i stedet CustomBinding
    new EndpointAddress(new Uri("https://test2.fmk.netic.dk/fmk12/ws/MedicineCard")));
client.Endpoint.EndpointBehaviors.Add(
    new ViaBehavior(new Uri("http://test2.ekstern-test.nspop.dk:8080/sosigw/proxy/soap-request")));

var response = await client.GetMedicineCard_2015_06_01Async(
    Security: new SecurityHeaderType { }(),
    Header: requestHeader,
    WhitelistingHeader: whitelistingHeader,
    GetMedicineCardRequest: new GetMedicineCardRequestType
    {
        PersonIdentifier = new PersonIdentifierType
        {
            source = "CPR",
            Value = requestCpr
        }
    });

...