Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Anchor
_Toc343345289
_Toc343345289
Webservice snitfladen

Wiki Markup
SOSI-DCC har én proxy webservice snitflade, som router kald på baggrund af den operation der kaldes – angivet som 'SOAPAction' HTTP header En angivelse af 'SOAPAction' HTTP headeren er påkrævet for HTTP bundne SOAP kald. .
\\
For hver operation, der skal kunne kaldes i gennem DCC, er komponenten konfigureret med et WSP endpoint, en timeout-grænse og en eventuel proxy endpoint som kaldet skal routes i gennem (fx en SOSI-Gateway). 
\\
Klienter kan override den i DCC konfigurerede timeoutgrænse ved at tilføje følgende SOAP header i DCC namespacet (http://www.sosi.dk/2007/07/decoupling-component-1.0.xsd) til kaldet, hvor det ønskede timeout angives i millisekunder (her 500 ms):
\\
<dcc:DecouplingHeader 
     xmlns:dcc="http://www.sosi.dk/2007/07/decoupling-component-1.0.xsd">
<dcc:DecouplingModel>synchronous_timeout</dcc:DecouplingModel>
 <dcc:Timeout>500</dcc:Timeout>
</dcc:DecouplingHeader>
\\
SOSI-DCC fjerner denne DecouplingHeader i kald der viderestilles.
\\
Komponenten konfigureres – igen på operationsniveau – til enten at ignorere eller videreføre _URL path_ _suffikset_ i kaldet, hvor der med _URL path_ _suffiks_ menes den del af endpoint URLen efter SOSI-DCCens endpoint URL (typisk noget i stil med http\[s\]://<host>:<port>/decoupling/).
\\
Fx udgør someService/someID URL path suffikset i følgende URL (her fra det ene eksterne NSP testmiljø som eksempel):
\\
http://test2.ekstern-test.nspop.dk:8080/decoupling/someService/someID
\\

Anchor
_Toc343345290
_Toc343345290
Processering af indkommende kald

...

  1. Whitelistning checkes Der bemærkes, at IP-whitelistning ikke er implementeret på NSP.: Hvis ikke WSCens IP adresse optræder i komponentens whitelist, afbrydes kaldet og et fejlsvar returneres til WSCen.
  2. Routing slås op i komponentens konfiguration: På baggrund af SOAPAction i HTTP headeren afgøres hvorhen beskeden skal routes. Hvis routingsinformation ikke findes i komponentens konfiguration afbrydes kaldet og der returneres et fejlsvar.
  3. Beskeden parses: Der foretages en SAX parsning af beskeden hvor relevante informationer opsamles og eventuel fjernes/modificeres (DCC og WS-addressing headere).
  4. Afkoblingsmodel identificeres: Hvis ikke WSCen har specificeret en timeoutgrænse i beskeden, benyttes default timeout for den pågældende operation som er angivet i komponentens konfiguration.
  5. Beskeden sendes til WSPen.
  6. WSP svaret streames tilbage til WSC. Ved timeout i WSP kaldet returneres i stedt et fejlsvar.

Wiki Markup
\\
Der bemærkes, at komponenten ikke er bundet til \[DGWS\] og ikke foretager nogen form for validering af at \[DGWS\] overholdes og dermed heller ikke validerer et eventuel indlejret SOSI Idkort.
\\
Afhængig af hvordan den enkelte operation (SOAPAction) er konfigureret, _erstatter, fjerner_ eller _bevarer_ SOSI-DCC \[WS-addressing\] headere i kaldet der viderestilles.
\\
For oplysninger om den konkrete konfiguration (og dermed semantik) for de enkelte operationer på NSP instanserne henvises til NSP operatøren.

Anchor
_Toc343345291
_Toc343345291
Fejlsituationer

Wiki Markup
Fejlsvar fra WSPen som kaldet blev viderestillet til returneres af SOSI-DCC i uforandret form.
\\
Ved fejlsituationer der opstår i SOSI-DCC returnerer komponenten et fejlsvar der følger \[DGWS\] formatet for SOAP faults.
\\
Nedenstående tabel lister de mulige fejlkoder og beskriver hvornår typen af fejlen opstår. 
\\
Alle fejlkoder som DCC generer er præfikset med dcc_.
\\

FaultCode

Beskrivelse

dcc_timeout

Timeout i kald til WSP.
Opstår når timeout-grænsen for den pågældende operation (som specificeret i konfigurationen eller angivet af klienten i DCC SOAP headeren) overskrides.

dcc_syntax_error

Syntaksfejl i det indkommende kald.
Opstår fx ved en manglende SOAPAction HTTP header, en ugyldig DCC SOAP header, ikke velformet SOAP XML, fejl i MIME boundaries i MTOM beskeder etc.

dcc_access_denied

(Kun hvis DCC er konfigureret med IP whitelistening, hvilket pt. ikke er tilfældet på NSP)
Opstår når klientens IP adresse ikke er whitelistet i DCC.

dcc_general_error

Andre typer fejl som opstår i DCC og som ikke er dækket af ovenstående, fx kald med en operation (SOAPAction) som ikke er konfigureret i komponenten, I/O fejl under videresendelse af kaldet (fx hvis WSPen ikke kan nås) etc.

...