Skip to content
Snippets Groups Projects
  • Martin Vogel's avatar
    4e1d44e5
    #570 Anbindung Routing API: · 4e1d44e5
    Martin Vogel authored
    - Neuer Routing Client
    - Zugriff auf findDestinations und findAreas der Routing API
    - Validierung der Signaturen und Claims der Routen-Signaturen
    - Handling von detached-signatures (Hinzufügen des detached payloads)
    4e1d44e5
    History
    #570 Anbindung Routing API:
    Martin Vogel authored
    - Neuer Routing Client
    - Zugriff auf findDestinations und findAreas der Routing API
    - Validierung der Signaturen und Claims der Routen-Signaturen
    - Handling von detached-signatures (Hinzufügen des detached payloads)

Client Module

Commandline Client

The sdk provides a commandline-client as a runnable .jar, to be able to use the sdk without any coding.

Setup & Build

  1. Build project root wih ./mvnw clean package
  2. Go to client/target and find a runnable jar fit-connect-client.jar
  3. Provide config yaml:
    1. set environment variable FIT_CONNECT_CONFIG:
      1. Linux/MacOS: export FIT_CONNECT_CONFIG=path/to/config.yml
      2. Windows: set FIT_CONNECT_CONFIG=C:\Path\To\config.yml
    2. Initialize client via ApplicationConfigLoader:
      var config = ApplicationConfigLoader.loadConfig("absolute/path/to/config.yml");
      var senderClient = ClientFactory.senderClient(config);
    3. put config.yml in same path as the .jar-file
  4. run client with java -jarfit-connect-client.jar [COMMAND] [OPTIONS]

SEND Single Submission Example

The send command submits a new submission to a destination. Apart from optional attachments, all options are mandatory.

java -jar fit-connect-client.jar send 
    --destinationId=1b7d1a24-a6c8-4050-bb71-ae3749ec432f 
    --serviceName=Test 
    --leikaKey=urn:de:fim:leika:leistung:99400048079000 
    --attachments="C:/path/to/attachments/dummy1.pdf", "C:/path/to/attachments/dummy2.pdf"
    --data="C:/path/to/data/date.json" 
    --dataType=json

Hint: copy example on one line for execution !

LIST Submissions Example

The list command lists all submissionIds for a given destinationID.

java -jar fit-connect-client.jar list --destinationID=1b7d1a24-a6c8-4050-bb71-ae3749ec432f 

GET Single Submission Example

The get command loads a submission by submissionId and stores data and attachments in the given target location. If no target is set, the cmd-client saves the data into in a folder named by the submissionId within the working dir of the runnable jar.

java -jar fit-connect-client.jar get --submissionID=cc9b9b3c-d4b1-4ac7-a70b-e7ca76e88608 --target=Users/submissions/data

Batch Mode

To send multiple submission with a single command, the client can be used in batch mode:

java -jar fit-connect-client.jar batch --data=batch_data.csv

Currently, the import of CSV is supported. Follow the schema below, setting up your data:

destinationId, serviceName, leikaKey, data, dataType, attachments
1b7d1a24-a6c8-4050-bb71-ae3749ec432f, Test1, "urn:de:fim:leika:leistung:99400048079000", /path/to/data/data.json, "JSON", "path/to/attachment/report1.pdf, path/to/attachment/report2.pdf"
1b7d1a24-a6c8-4050-bb71-ae3749ec432d, Test2, "urn:de:fim:leika:leistung:99400048079000", /path/to/data/data2.xml, "XML", "path/to/attachment/report.pdf"

Windows paths: escape windows paths with \\, e.g. C:\\path\\to\\file\\file.txt !

Usage And Commands

Usage: <main class> [command] [command options]
  Commands:
    send      Send a submission
      Usage: send [options]
        Options:
          --attachments
            Attachments as list of paths
            Default: []
        * --data
            Path to JSON or XML data
        * --dataType
            Data mime type (json/xml), default JSON
            Possible Values: [json, xml]
        * --destinationId
            Unique destination identifier in UUID format
        * --leikaKey
            The LeikaKey of the service type
        * --serviceName
            Name of the service type

    list      Lists available submissions
      Usage: list [options]
        Options:
        * --destinationId
            Unique destination identifier in UUID format

    get      Fetches one submission by id
      Usage: get [options]
        Options:
        * --submissionId
            Unique submission identifier in UUID format
          --target
            Target folder where attachments and data is written to

    all      Fetches all available submission for a destination
      Usage: all [options]
        Options:
        * --destinationId
            Unique destination identifier in UUID format
          --target
            Target folder where attachments and data is written to

    batch      Send a batch of configured submissions from a csv file
      Usage: batch [options]
        Options:
        * --data
            Path to submission data as csv