...
Case 5 – Two applications in Transparent Mode – local recipients
Assumption
...
- Two plain sedex mode applications are to be connected to the sedex network over one single sedex adapter.
- The applications also communicate directly with each other.
- Both applications use the same sedex message type (112).
...
Prerequisite
- One physical sedex participant for the sedex adapter (T7-4-1 in the example configuration).
- Two logical sedex participants for the applications (T7-4-2 and T7-4-3 in the example configuration)
...
Note |
---|
Both applications work with the same sedex message type (112). Due to this each application requires its own logical sedex ID. |
Example configuration
Code Block | ||
---|---|---|
| ||
mh_examples/case5 . +-- applicationA ¦ +-- inbox ¦ +-- outbox ¦ +-- receipts +-- applicationB ¦ +-- inbox ¦ +-- outbox ¦ +-- receipts +-- log ¦ +-- mh ¦ +-- sedex +-- mh ¦ +-- install-dir ¦ ¦ +-- bin ¦ ¦ +-- conf ¦ ¦ ¦ +-- config.xml ¦ ¦ ¦ +-- config.xsd ¦ ¦ ¦ +-- log4j.properties ¦ ¦ +-- lib ¦ +-- working-dir ¦ +-- corrupted ¦ +-- db ¦ +-- sent ¦ +-- tmp ¦ ¦ +-- preparing ¦ ¦ +-- receiving ¦ +-- unknown +-- sedex +-- inbox +-- outbox +-- receipts +-- sent |
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://msghandler.suis.admin.ch/xmlns/config config.xsd" xmlns="http://msghandler.suis.admin.ch/xmlns/config" version="3.0"> <sedexAdapter> <participantId>T7-4-1</participantId> <inboxDir>/mh_examples/case5/sedex/inbox</inboxDir> <outboxDir>/mh_examples/case5/sedex/outbox</outboxDir> <receiptDir>/mh_examples/case5/sedex/receipts</receiptDir> <sentDir>/mh_examples/case5/sedex/sent</sentDir> </sedexAdapter> <messageHandler> <!-- In diesem Pfad mssen die MH Basis-Verzeichnisse sein: corrupted, tmp, unkown, etc. --> <workingDir dirPath="/mh_examples/case5/mh/working-dir"/> <!-- Wo starten relative Pfade --> <baseDir dirPath="/mh_examples/case5"/> <!-- wie oft wird die sedex inbox geprft --> <sedexInboxDirCheck cron="0/30 * * * * ?" /> <!-- wie oft wird das sedex receipts directoty geprft --> <sedexReceiptDirCheck cron="0/30 * * * * ?" /> <!-- jede *outbox kann Wert berschreiben --> <defaultOutboxCheck cron="0/30 * * * * ?" /> <webserviceInterface host="localhost" port="18080"/> <statusDatabase dirPath="/mh_examples/case5/mh/working-dir/db" dataHoldTimeInDays="2" resend="true"/> <localRecipients> <localRecipient recipientId="T7-4-2" msgTypes="112" /> <localRecipient recipientId="T7-4-3" msgTypes="112" /> </localRecipients> <protocol createPerMessageProtocols="false"/> </messageHandler> <transparentApp participantId="T7-4-2" > <!-- die lokale sedexId --> <outbox dirPath="applicationA/outbox" /> <inbox dirPath="applicationA/inbox" msgTypes="112"/> <receipts dirPath="applicationA/receipts" msgTypes="112"/> </transparentApp> <transparentApp participantId="T7-4-3" > <!-- die lokale sedexId --> <outbox dirPath="applicationB/outbox" /> <inbox dirPath="applicationB/inbox" msgTypes="112"/> <receipts dirPath="applicationB/receipts" msgTypes="112"/> </transparentApp> </config> |
Case 6 – One eSchKG/e-LP/e-LEF application with one signing outbox
Assumption
- One eSchKG/e-LP/e-LEF application (message type = 10301) has to be connected to the sedex network.
- The application uses a single signing outbox to sign PDF files by the MH.
- One nativeApp -> Native Mode.
Prerequisite
- One physically sedex participant (=sedex ID) is needed for the sedex adapter (T7-4-1 in the example configuration).
- A PKCS#12 file with the X.509 signing certificate (.p12 file)
- Open eGov BatchSigner or LocalSigner “signature.properties” file
Note |
---|
The signing process: The application adds the file “document.pdf” inside the signing-outbox directory. MH takes this file and adds a signature to it. The new file with the signature will be added to the outbox directory with the new filename “document-sig.pdf”. If this step is successfully executed the original file “document.pdf” will be moved to the processed directory. |
Example configuration
Code Block | ||
---|---|---|
| ||
/mh_examples/case6/
.
+-- application
¦ +-- inbox
¦ +-- outbox
¦ +-- processed
¦ +-- signing-outbox
+-- log
¦ +-- mh
¦ +-- sedex
+-- mh
¦ +-- install-dir
¦ ¦ +-- bin
¦ ¦ +-- conf
¦ ¦ ¦ +-- certificate.p12
¦ ¦ ¦ +-- config.xml
¦ ¦ ¦ +-- config.xsd
¦ ¦ ¦ +-- log4j.properties
¦ ¦ ¦ +-- recipientIdResolver.groovy
¦ ¦ ¦ +-- signature.properties
¦ ¦ +-- lib
¦ +-- working-dir
¦ +-- corrupted
¦ +-- db
¦ +-- sent
¦ +-- tmp
¦ ¦ +-- preparing
¦ ¦ +-- receiving
¦ +-- unknown
+-- sedex
+-- inbox
+-- outbox
+-- receipts
+-- sent |
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://msghandler.suis.admin.ch/xmlns/config config.xsd"
xmlns="http://msghandler.suis.admin.ch/xmlns/config"
version="3.0">
<sedexAdapter>
<participantId>T7-4-1</participantId>
<inboxDir>/mh_examples/case6/sedex/inbox</inboxDir>
<outboxDir>/mh_examples/case6/sedex/outbox</outboxDir>
<receiptDir>/mh_examples/case6/sedex/receipts</receiptDir>
<sentDir>/mh_examples/case6/sedex/sent</sentDir>
</sedexAdapter>
<messageHandler>
<!-- In diesem Pfad mssen die MH Basis-Verzeichnisse sein:
corrupted, tmp, unkown, etc. -->
<workingDir dirPath="/mh_examples/case6/mh/working-dir"/>
<!-- Wo starten relative Pfade -->
<baseDir dirPath="/mh_examples/case6/application"/>
<!-- wie oft wird die sedex inbox geprft -->
<sedexInboxDirCheck cron="0/30 * * * * ?" />
<!-- wie oft wird das sedex receipts directoty geprft -->
<sedexReceiptDirCheck cron="0/30 * * * * ?" />
<!-- jede *outbox kann Wert berschreiben -->
<defaultOutboxCheck cron="0/30 * * * * ?" />
<webserviceInterface host="localhost" port="18080"/>
<statusDatabase dirPath="/mh_examples/case6/mh/working-dir/db"
dataHoldTimeInDays="2" resend="true"/>
<protocol createPerMessageProtocols="false"/>
</messageHandler>
<nativeApp participantId="T7-4-1" > <!-- die lokale sedexId -->
<outbox dirPath="outbox" msgType="10301">
<recipientIdResolver filePath="/mh_examples/case6/mh/install-dir/conf/recipientIdResolver.groovy" method="resolve" />
<signingOutbox dirPath="signing-outbox" processedDir="processed" signingProfilePath="/mh_examples/case6/mh/install-dir/conf/signature.properties">
<certificate filePath="/mh_examples/case6/mh/install-dir/conf/certificate.p12" password="secret"/>
</signingOutbox>
</outbox>
<inbox dirPath="inbox" msgTypes="10301"/>
</nativeApp>
</config> |
recipientIdResolver.groovy: same as in case 1.
Code Block | ||||
---|---|---|---|---|
| ||||
typeOfSignature = signature
visibleSignature = true
location = Bern
reason = Genehmigt
contact = info@glue.ch
backgroundImage =
leftPos = 100 |