Versions Compared

Key

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

...


Nedenstående eksempel illustrerer konfigurationen for en service der udstilles gennem DCC, her FMK.<Endpoint

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">

...


    <DecouplingModel>synchronous_timeout</DecouplingModel>

...


    <Timeout>30000</Timeout>

...


  </Action>

...


  <!-- flere actions -->

...


  <Action Name="2011/01/01#CreatePrescriptionMedicationWithoutCPR">

...


    <DecouplingModel>synchronous_timeout</DecouplingModel>

...


    <Timeout>30000</Timeout>

...


  </Action>

...


</Endpoint>


Anchor
_Toc325203597
_Toc325203597
Databasebaseret routingskonfiguration

...

  1. Anchor
    _Ref260053972
    _Ref260053972
    Opsæt og deploy en standard data-source på JBoss applikationsserveren med læsadgang til den database der indeholder routingsinformationen. Det er en forudsætning af de i data-source definitionen refererede Java klasser er tilgængelige på classpath'en for applikationsserveren.


Ikke-normativ eksempel på en data-source definition:

Code Block
<?xml version="1.0" encoding="UTF-8"?>

...


<datasources>

...


  <xa-datasource>

...


    <jndi-

...

name>crkDS</jndi-name>

...


    <xa-datasource-property name="URL"

...

>jdbc:mysql://:3306/

...

crk</xa-datasource-property>

...


    <user-

...

name>XXXXX</user-name>

...


    <password>YYYYYYYYYY</password>
    <xa-datasource-

...

class>com.mysql.jdbc.jdbc2.optional.

...

MysqlXADataSource</xa-datasource-class>

...


    <driver-

...

class>com.mysql.jdbc.

...

Driver</driver-class>

...


    <min-pool-

...

size>2</min-pool-size>

...


    <max-pool-

...

size>20</max-pool-size>

...


    <idle-timeout-

...

minutes>5</idle-timeout-minutes>

...


    <track-connection-by-

...

tx>true</track-connection-by-tx>

...


    <exception-sorter-class-

...

name>com.mysql.jdbc.integration.jboss.

...

ExtendedMysqlExceptionSorter</exception-sorter-class-name>

...


    <valid-connection-checker-class-

...

name>com.mysql.jdbc.integration.jboss.

...

MysqlValidConnectionChecker</valid-connection-checker-class-name>

...


  </xa-datasource>

...


</datasources>


2. 

Anchor
_Ref260054066
_Ref260054066
Definér to 'select' statements:

a. Et 'LastUpdateSelectStatement' som returnerer én og kun én række med én og kun én værdi af typen 'Datetime' eller null. Værdien skal afspejle hvornår routingsinformation sidst er blevet opdateret. DCC genindlæser hele konfigurationen hvis denne værdi er større end den komponenten sidst har læst (komponenten benytter 1/1/1970 som initiel dato).

b. Et 'ActionSelectStatement' som returner et antal rækker som indeholder følgende navngivne værdier med følgende egenskaber:

Navn

Datatype

Nullable

Betydning

SOAP_ACTION

String

Nej

Routingsnøglen - skal være unik

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'


3. 

Anchor
_Ref260054115
_Ref260054115
Fastlæg hvor tit DCC'en skal genindlæse konfigurationen fra databasen, målt i minutter.

4. 

Anchor
_Ref260054172
_Ref260054172
Identificér URL'en for en eventuel (SOSI-GW) proxy på den pågældende installation.

5. Opdatér DCC'ens konfigurationsfil ved at slette alle <Endpoint> definitioner og indsætte følgende <EndpointDatabase> struktur i stedet:

Code Block
<EndpointDatabase>

...


   <DataSourceName>DATASOURCE</DataSourceName>
   <LastUpdateSelectStatement>LAST_UPDATE_

...

SELECT</LastUpdateSelectStatement>

...


   <ActionsSelectStatement>ACTION_SELECT</ActionsSelectStatement>
   <RefreshIntervalMinutes>INTERVAL</RefreshIntervalMinutes>
   <GatewayProxyURL>PROXY_URL</GatewayProxyURL>
</EndpointDatabase>

Hvor der gælder at

  • DATASOURCE er navnet på datasourcen deployet under
    Anchor
    _Hlt260053990
    _Hlt260053990
    1) præfikset med java:/
  • LAST_UPDATE_SELECT og ACTION_SELECT er de i 2) definerede statements
  • INTERVAL er det i 3) fastlagte interval
  • PROXY_URL er den i 4) eventuel identificerede proxy eller tomt hvis der ikke benyttes nogen proxy


6. Genstart derefter komponenten og verificer at der ikke optræder nogen 'ERROR' log-indgange i komponentens log-fil.


Bemærk: DCC'en fejler under opstart hvis et af de to 'select' statements kaster en exception, men starter korrekt selvom de to 'select' statements måtte returnere tomme result-sets.
Når der foreligger en opdateret konfiguration i databasen erstatter denne den tidligere indlæste konfiguration uden at DCC'en forholder sig til forskellene mellem de to konfigurationer. Hvis der er fejl i den nye konfiguration logges dette og den tidligere korrekt indlæste bibeholdes.
Ikke-normativ eksempel på en endpoint-database definition:

Code Block

...

<?xml version="1.0" encoding="UTF-8"?>
<EndpointDatabase>
  <DataSourceName>java:/crkDS</DataSourceName>
  <LastUpdateSelectStatement>select LAST_UPDATE from DCC_LASTUPDATE</LastUpdateSelectStatement>
  <ActionsSelectStatement>select SOAP_ACTION, SERVICE_URL, TIMEOUT_MILLIS, IDCARD_MAXAGE_MINS, USE_PROXY, DO_NOT_VERIFY_SSL_HOSTNAME, WSA_HEADERS_PROCESSING from DCC_

...

ACTIONS</ActionsSelectStatement>

...


  <RefreshIntervalMinutes>60</RefreshIntervalMinutes>
  <GatewayProxyURL>http://127.0.0.2:8080/sosigw/proxy/soap-

...

request</GatewayProxyURL>

...


</EndpointDatabase>

Anchor
_Toc325203598
_Toc325203598
Generel routingsfunktionalitet

...