phax / phoss-directory

The official Peppol, TOOP and DE4A Directory software
Apache License 2.0
15 stars 6 forks source link
de4a directory openpeppol peppol toop4eu yellow-pages

phoss-directory

javadoc Maven Central

The official Peppol Directory (PD; https://directory.peppol.eu).

This project is part of my Peppol solution stack. See https://github.com/phax/peppol for other components and libraries in that area.

This project is split into the following sub-projects (all require Java 11 or newer):

Previous modules:

Building requirements

To build the PD software you need at least Java 11 and Apache Maven 3.x.

Additionally to the contained projects you MAY need the latest SNAPSHOT of ph-oton as part of your build environment.

PD Client

The PD client is a small Java library that uses Apache HttpClient to connect to an arbitrary phoss Directory Indexer to perform all the allowed operations (get, create/update, delete).

Client Configuration resolution

The PD client uses ph-config to resolve configuration items. See https://github.com/phax/ph-commons/wiki/ph-config for the details on the resolution logic.

Note: the old file pd-client.properties is still evaluated for backwards-compatibility reasons but with lower priority. It will be removed in the future.

Client Configuration properties

Note: the configuration properties were heavily renamed in v0.10.0. Previous old names are shown in brackets.

The following configuration items are supported by the PD Client:

Example PD Client configuration properties:

# Key store with SMP key (required)
pdclient.keystore.type         = jks
pdclient.keystore.path         = smp.pilot.jks
pdclient.keystore.password     = password
pdclient.keystore.key.alias    = smp.pilot
pdclient.keystore.key.password = password

# Default trust store (optional)
pdclient.truststore.type     = jks
pdclient.truststore.path     = truststore/pd-client.truststore.jks
pdclient.truststore.password = peppol

# TLS settings
https.hostname-verification.disabled = false

PD Indexer

The PD Indexer is a REST component that is responsible for taking indexing requests from SMPs and processes them in a queue (Peppol SMP client certificate required). Only the Peppol participant identifiers are taken and the PD Indexer is responsible for querying the respective SMP data directly. Therefore the respective SMP must have the appropriate Extension element of the service group filled with the business information metadata as required by PD. Please see the PD specification for a detailed description of the required data format as well as for the REST interface.

PD Publisher

The PD Publisher is the publicly accessible web site with listing and search functionality for certain participants.

News and noteworthy


My personal Coding Styleguide | It is appreciated if you star the GitHub project if you like it.