Versions Compared

Key

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

...

Code Block
languagejava
titleEksempel på brug af NspSoapClient
linenumberstrue
import static dk.nsp.test.idp.EmployeeIdentities.jordemoderAdaLovelace;

private static final URI NTS_ENDPOINT = URI.create("http://test1-cnsp.ekstern-test.nspop.dk:8080/nts/service");

private static final String NTS_ACTION = "http://sundhedsdatastyrelsen.dk/soap/2022/10/21/actions#SomeSoapAction";

private static final String NTS_REQUEST_BODY = "<Request/>";

public void employeeExample() throws Exception {
	try (NspSoapClient client = new NspSoapClient(System.out::println)) {
		try (NspSoapResponse response = client.request(NTS_ENDPOINT, NTS_ACTION).as(jordemoderAdaLovelace()).execute(NTS_REQUEST_BODY)) {
			assertNotNull(response);
			assertFalse(response.isFault());
			String xml = IOUtils.toString(response.getResponse(), "utf-8");
			assertTrue(xml.contains("OK"));
		}
	}
}

Ovenstående eksempel viser hvordan man kan anvende NSP Test Identity Provider til at kalde en service på NSP. I det følgende gennemgåes hver linie af eksemplet:

LinieForklaring
1Import den medarbejder identitet der anvendes
3Definer den NSP service der skal kaldes.
35Definer hvilken specifik operation der skal udføres
57Definer den SOAP Body der skal sendes.
810Opret en ny NspSoapClient der logger requests og response til standard out.
911Udfører et request mod NTS servicen som den indbyggede identitet Ada Lovelace der er en autoriseret jordemoder.
1012-1315Tjekker om servicen svarede forventet.

...

NSP Test Identity Provider indeholder et større antal identiteter der alle er oprettet i DTG. Disse 16 personer kan anvendes både som private borgere og som medarbejdere med autorisationer og/eller Nationale Roller. Det er også muligt at definere sine egne identiteter hvis man har et helt særligt behov. Det anbefales dog at anvende de identiteter der er med i biblioteket så vidt det er muligt.

For at definere f.eks. en ny medarbejder identitet skal man enten implementere interfacet EmployeeIdentity eller EmployeeIdentityBuilder.

Eksempel

Kildekoden til NSP Test Identity Provider biblioteket findes i NSP's Git Repository hvor man kan finde klassen NspSoapClientExample der indeholder eksempler på brug af biblioteket.

...