Page History
...
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\].
...
- Identificér endpoint URL'en for servicen
- Find servicens WSDL
- Find ud af hvorvidt servicen skal kaldes gennem SOSI-Gateway
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\]
- Identificér en fælles prefix for alle de noterede 'soapActions'
- Definér en timeoutgrænse for hver operation
- Tilføj nu et <Endpoint> tag til DCC'en konfigurationsfil med følgende attributter:
- 'ActionPrefix' sættes til den identificerede fælles prefix
- 'URL' sættes til URL'en for servicen
- 'ProxyURL' (optionel) sættes til URL'en for SOSI-Gateways 'proxy' snitflade såfremt servicen skal tilgås gennem denne
- 'IdcardMaxAgeMinutes' (optionel) – se afsnittet 'IdcardMaxAgeMinutes instruktionen' længere nede
- 'DoNotVerifySSLHostname' (optionel) – se afsnittet 'SSL/TLS håndtering' længere nede
- 'WSA_Headers_Processing' (optionel) – se afsnittet 'WS-Addressing processering' længere nede
- 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.
- 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. | |
DO_NOT_VERIFY_SSL_HOSTNAME | boolean | Ja | Hvorvidt hostname verifikation af SSL-servercertifikatet skal foretages. | |
WSA_HEADERS_PROCESSING | String | Ja | Hvordan WS-Addressing headere skal processeres, se afsnittet 'WS-Addressing processering' længere nede for tilladte værdier. |
...
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>
|
...