Versions Compared

Key

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

...

Her listes vedhæftet materiale, kontaktpersoner, mail adresser mv.
Kort introduktion til service
   NSP Test Service (NTS) bruges til at verificere korrektheden af et DGWS 1.0.1 SOAP-request.
 

NTS validerer det DGWS-specifikke information i SOAP-headeren for det SOAP-request, som sendes til den. Indholdet i SOAPbody er udenfor valideringen. Der udføres kontrol på følgende:

  • UTF-8 character encoding for requestet
  • valid XML i requestet
  • SOAP 1.1 namespace i requestet
  • SOAP envelope og body har indhold
  • eksistens af obligatoriske DGWS header-elementer
  • korrekt orden på DGWS header-elementer
  • overholdelse af ID-kort indhold, som specificeret i DGWS 1.0 specifikationen bilag 2 og 4
  • certifikatoplysninger, herunder:
    • certifikatets gyldighed
    • korrekt signatur (ikke-self signed)
    • udstedt af kendt STS
  • ID-kortet i requestet validerer med SEAL-biblioteket
  • ID-kortet er formatteret korrekt mht. tabs, linebreaks og white spaces (ved pretty printing)

 

Komponent og versioner

Her kommer en beskrivelse af komponenter og versioner   

  

Kontaktoplysninger, servicebeskrivelse og testforhold

NTS er tilgængelig på URL’en: http://<host>/nts/service, hvor <host> erstattes med konkrete miljø, f.eks.:test2.ekstern-test.nspop.dk:8080.

Tilsvarende er WSDL for servicen tilgængelig på http://<host>/nts/service?wsdl 

NTS kan kaldes som enhver anden WebService på den nævnte eller tilsvarende URL. Det kan i praksis foregå med det værktøj anvender finder belejligt, eksempelvis curl, SOAP-UI eller egen kode. DGWS SOAP-requestet skal indeholde, hvad anvender ellers ville sende til enhver anden service på NSP. I svaret fra NTS vil resultatet af valideringen af DGWS SOAP-requestet fremgåi SOAP-body på response.

 

Kontaktoplysninger, servicebeskrivelse og testforhold
Eksempel på kald

Et eksempel på kald til NTS med brug af curl, hvor SOAP-body i DGWS SOAP-requestet er tom:

Code Block
themeConfluence
languagenone
curl --header ’Content-Type: application/soap+xml; charset=utf-8’ -d @modules/web/src/test/-
	java/dk/nsi/nsp/nts/web/checks/testxml/idcard-valid.xml http://test2.ekstern-test.nspop. 
	dk:8080/nts/service | xmllint --format -

hvilket giver følgende resultat:

Code Block
themeConfluence
languagenone
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header>
      <Header xmlns="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
         <Linking>
            <FlowID>9489</FlowID>
            <MessageID>9489:10173889505080905</MessageID>
         </Linking>
         <FlowStatus>syntax_error</FlowStatus>
      </Header>
      <NTS xmlns="http://nspop.dk/nts/2013/05">
         <Environment>TEST</Environment>
         <NTS-Version>1.0.0</NTS-Version>
         <SEAL-Version>2.1.6</SEAL-Version>
      </NTS>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>Server</faultcode>
         <faultstring>Consult detailed errors in medcom:FaultCode</faultstring>
         <detail xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd">
            <medcom:FaultCode>ERROR [SOAP1.1]: SOAP element: ’Body’ is empty. (&lt;S:Body xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"/>)</medcom:FaultCode>
         </detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

 

 

Værd at bemærke er følgende header-element:

 

Code Block
themeConfluence
languagenone
<NTS xmlns="http://nspop.dk/nts/2013/05">
   <Environment>TEST</Environment>
   <NTS-Version>1.0.0</NTS-Version>
   <SEAL-Version>2.1.6</SEAL-Version>
</NTS>

 

Det kan her ses, at <Environment>-elementet angiver, hvilken miljø-type NTS befinder sig på. Mulighederne er TEST eller PRODUCTION. Endvidere kan det bemærkes at NTS benytter sig af SEAL version 2.1.6, som det ses i tagget <SEAL-Version>

 

 

 

 

 

 

 

og er selv version 1.0.0, som det ses i tagget <NTS-Version>.

   

 

 

 

Resultatet af valideringen ses i responsets SOAP-body, som værdi for et eller flere

 

 

 

 

 

<medcom:FaultCode>

 

-tags.