Page History
...
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 | ||||
---|---|---|---|---|
|
...
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.Anchor _Ref260053972 _Ref260053972
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 | ||||
---|---|---|---|---|
|
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. |
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. |
3.
Anchor | ||||
---|---|---|---|---|
|
4.
Anchor | ||||
---|---|---|---|---|
|
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
1) præfikset med java:/Anchor _Hlt260053990 _Hlt260053990 - 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 | ||||
---|---|---|---|---|
|
...