Versions Compared

Key

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

...

For at DCC'en kan skelne mellem de forskellige operationer for en service foregår routing og valg af default afkoblingsmodel på baggrund af HTTP headeren 'SOAPAction' i kaldet, som , og evt. 'ServiceIdentifier'-parameteren angivet i url'en. Bemærk at SOAPAction altid skal angives i kaldet for HTTP bundne SOAP web-services \[SOAP\].

...

  1. Identificér endpoint URL'en for servicen
  2. Find servicens WSDL
  3. Find ud af hvorvidt servicen skal kaldes gennem SOSI-Gateway
  4. Notér 'soapAction' attributten for hver operation i servicens WSDL – bemærk at 'soapAction' attributten er mandatory for HTTP-bundne webservices jf. WSDL specifikationen \[WSDL\]

  5. Identificér en fælles prefix for alle de noterede 'soapActions'
  6. Definér en timeoutgrænse for hver operation
  7. Tilføj nu et <Endpoint> tag til DCC'en konfigurationsfil med følgende attributter:
    1. 'ActionPrefix' sættes til den identificerede fælles prefix
    2. 'URL' sættes til URL'en for servicen
    3. 'ProxyURL' (optionel) sættes til URL'en for SOSI-Gateways 'proxy' snitflade såfremt servicen skal tilgås gennem denne
    4. 'IdcardMaxAgeMinutes' (optionel) – se afsnittet 'IdcardMaxAgeMinutes instruktionen' længere nede
    5. 'DoNotVerifySSLHostname' (optionel) – se afsnittet 'SSL/TLS håndtering' længere nede
    6. 'WSA_Headers_Processing' (optionel) – se afsnittet 'WS-Addressing processering' længere nede
  8. Tilføj nu et <Action> tag under <Endpoint> tagget for hver af de identificerede 'soapActions' og sæt 'Name' attributten på <Action> tagget til 'soapActions' navn - uden den identificerede fælles prefix. Hvis operationen skal udstilles under en bestemt ServiceIdentifier, angives dette med en 'ServiceIdentifier'-attribut. Under hver <Action> tag tilføjes derefter et <Timeout> tag med det definerede timeout for operationen som angives i millisekunder.
  9. SOSI-DCC genstartes for at få konfigurationsændringen til at slå i gennem

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<Endpoint ActionPrefix="http://www.dkma.dk/medicinecard/xml.schema/"URL="http://triforkprodtest.lms.trifork.com/fmk12/ws/MedicineCard"ProxyURL="http://localhost:8080/sosigw/proxy/soap-request"IdcardMaxAgeMinutes="560">
  <Action Name="2009/01/01#GetMedicineCard">
    <Timeout>30000</Timeout>
  </Action>
  <!-- flere actions -->
  <Action Name="2011/01/01#CreatePrescriptionMedicationWithoutCPR" ServiceIdentifier="fmk-1">
    <Timeout>30000</Timeout>
  </Action>
</Endpoint>

...

Navn

Datatype

Nullable

Betydning

SOAP_ACTION

String

Nej

Routingsnøglen - skal være unik

Den action der ønskes kaldt.

SERVICE_IDENTIFIER

String

Ja

Logisk navn på den service der ønskes kaldt. Parret <SOAP_ACTION, SERVICE_IDENTIFIER> skal være unikt. Bemærk at SERVICE_IDENTIFIER kan være NULL af hensyn til bagudkompatibilitet.

SERVICE_SERVICE_URL

String

Nej

Endpointet hvortil beskeder for den givne soap action skal routes til

TIMEOUT_MILLIS

int

Nej

Grænseværdien for hvornår det (synkrone) kald afbrydes

USE_PROXY

boolean

Ja

Hvorvidt beskeder skal sendes gennem proxy hvis en sådan er defineret i DCC'ens statiske konfiguration

IDCARD_MAXAGE_MINS

int

Ja

Instruktion til en evt. SOSI-Gateway.
Benyttes kun hvis USE_PROXY er 'true' og en proxy er defineret i DCC'ens statiske konfiguration.

Se også nedenstående afsnit 'IdcardMaxAgeMinutes instruktionen'.

DO_NOT_VERIFY_SSL_HOSTNAME

boolean

Ja

Hvorvidt hostname verifikation af SSL-servercertifikatet skal foretages.
Parameteren benyttes kun hvis SERVICE_URL (eller en proxy hvis USE_PROXY er sat) er en HTTPS URL.

Default værdien er 'false'.

Se også nedenstående afsnit 'SSL/TLS håndtering'

WSA_HEADERS_PROCESSING

String

Ja

Hvordan WS-Addressing headere skal processeres, se afsnittet 'WS-Addressing processering' længere nede for tilladte værdier.

Default værdien er 'WSA_OVERWRITE'

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<Endpoint ActionPrefix="http://www.example.org#" URL="http://foobar.com/example/*">
  <Action Name="doIt">
    <Timeout>10000</Timeout>
  </Action>
</Endpoint>


Bemærk at det stadig er muligt at bevare URL suffiks, når der angives en ServiceIdentifier. 

Med f.eks. nedenstående konfiguration vil kald til http://HOST:PORT/decoupling/service/bar/foo blive viderestillet til http://foobar.com/example/foo (for kald med SOAPAction 'http://www.example.org#doIt'):

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<Endpoint ActionPrefix="http://www.example.org#" URL="http://foobar.com/example/*">
  <Action Name="doIt" ServiceIdentifier="bar">
    <Timeout>10000</Timeout>
  </Action>
</Endpoint>

...