Skip to content
Philip Helger edited this page Jul 18, 2019 · 45 revisions


Welcome to the phoss SMP wiki!

Latest release: 5.2.0 (2019-07-18) - See Migrations to read on specific upgrade requirements.

Docker releases:

This is an SMP (Service Metadata Publisher) server to be used in the PEPPOL transport infrastructure or as part of e-SENS. An SMP is part of the PEPPOL registry infrastructure and can handle the registry for multiple Access Points (APs). It is queried upon document exchange for the correct endpoint URL to deliver the document to. The endpoint URL depends on the participant identifier, the document type identifier, the process identifier and the used transport protocol. Please see the official PEPPOL SMP specification for all the details. Additionally this SMP implementation supports the OASIS BDXR SMP specification 1.0 specification - the differentiation happens in the Configuration file.

Note: this Wiki only refers to the SMP Server version 5. Earlier versions are not touched and it is strongly recommended to update to the latest version!

If you have specific questions, don't hesitate to contact me by email (philip[at] or Twitter (@philiphelger).



Public start page of the SMP: SMP public area example

Overview of all service groups in the management area: SMP manage service groups

Create a new SMP service group: SMP create service groups

Show all endpoints of all service groups in a list: SMP endpoint list

or show all endpoints of all service groups in a tree structure: SMP endpoint tree

Create a new endpoint: SMP create endpoint

or copy and existing endpoint: SMP copy endpoint

Show tasks and problems: SMP tasks and problems

Modify certain settings at runtime: SMP settings

Manage PEPPOL Directory Business Cards: PEPPOL Directory Business Card list

Edit PEPPOL Directory Business Cards online: Edit Business Cards


Here are some SMPs using phoss SMP (in random order):

CIPA compatibility

The SQL backend is fully compatible with the one used by CIPA, so you can use this SMP server as a replacement. Just adopt the JDBC parameters of this SMP server and your fine.

Internally the structure of the DB meta model was slightly adopted. E.g. the "endpoint reference" is no longer part of the service metadata primary key. Also the "service expiration date" of an endpoint became optional. Also please note that old versions of the CIPA SMP server ship with incompatible data types in the .sql file. Please ensure that all columns with the data type BLOB are changed to data type TEXT (for MySQL).

Compatibility with CIPA SMP 3.x or higher is unknown.


This project was initially forked from the CIPA SMP 2.2.3 because I was unhappy with the development. Compared to the CIPA SMP the following enhancements are present in this SMP (status as of 2015):

  • It provides a management GUI where you can create/edit/delete your users, service groups and endpoints.
  • Alternatively to the SQL backend it offers an XML backend which does not require any database and therefore has less operational costs. See Configuration on how to enable it.
  • It uses Jersey 2.x instead of the old Jersey 1.x
  • Having real support for SMP redirects - via REST and via the GUI

Before version 4 of this project two different web applications existed: peppol-smp-server which had the SQL backend and peppol-smp-server-lightweight which used the XML backend and provided a small management GUI. I decided to merge these two versions to have the advantage of the GUI for both backends.

You can’t perform that action at this time.