Page tree

European Commission Digital

Services

eDelivery SMP - 1.10



Status

eDelivery Specification

Publication date

 

Obsoletes

e-SENS SMP - 1.9.0

Obsoleted by

-



Table of Contents



1. Description

The eDelivery SMP (Service Metadata Publisher) profile provides a set of implementation guidelines for the OASIS SMP specification [SMP-v1.0]. It is designed to be used in eDelivery with the Dynamic Sender Profile Enhancement in the eDelivery AS4 Profile [eDelivery AS4], the eDelivery BDXL profile [eDelivery BDXL] and the eDelivery ebCore Party Id profile [eDelivery EBCOREP].

The SMP specification defines an XML-based service metadata data model and a REST binding to retrieve service metadata:

  • The Service Metadata Publisher hosts service metadata for each party at a predefined URL. (Note that SMP uses the term Participant as a synonym of Party.)
  • The Sender uses this URL in a HTTP GET operation to obtain the metadata relating to that recipient's capabilities


Figure 1. Sender requests Service Metadata to configure Message Exchange

A party can retrieve data to dynamically configure its systems for message exchange with its counterparties using eDelivery. The Service Metadata Publisher can store service metadata representing receiving capabilities of parties. SMP service metadata is a combination of information on:

  • the final recipient (its identifier, supported business documents and processes in which it accepts those documents)
  • the Access Point (metadata which includes technical configuration information on the receiving endpoint, such as the transport protocol and its address) used by the end entity recipient.

Every community participant is registered in one and only one SMP registry. 

The OASIS SMP specification [SMP-v1.0] is designed to be used in conjunction with the OASIS BDX Location specification [BDX-Location-v1.0].

2. Base Specification

This specification is based on the following OASIS specification:

The key words MUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDSHOULD NOTRECOMMENDEDMAY, and OPTIONAL in this document are to be interpreted as described in [RFC2119].

3. Implementation guidelines

3.1. General Guidelines

Implementations MUST produce and consume SMP XML content conformant with the OASIS SMP XML schema.

Section 3.4 of [SMP] defines the ServiceGroup and SignedServiceMetadata resource retrieval methodes.  An SMP client MAY use either the ServiceGroup or SignedServiceMetadata resources (defined in section 3.4) to retrieve SMP service metadata.  An SMP server MUST support both resource retrieval methods.  

3.2. Use with eDelivery AS4

The eDelivery AS4 Profile consists of a Common Profile and a set of Profile Enhancements. One of these enhancements is the Dynamic Sender Profile Enhancement, which specifies how an AS4 MSH can be used to send user messages to Receiver parties that have not been pre-configured. This enhancement assumes a discovery infrastructure that can be queried using a number of input parameters, obtained as metadata in message submission and/or from a configured P-Mode template, to obtain additional Receiver-specific P-Mode parameters. This eDelivery SMP profile can be used as part of such a dynamic discovery infrastructure.

Another Profile Enhancement is the Four Corner Topology Enhancement. This eDelivery SMP profile can be used in conjunction with both point-to-point messaging (involving a Sender and Receiver) and the Four Corner Topology Enhancement (involving an Original Sender, a Sender, a Receiver and a Final Recipient).

The following table summarizes the mapping from query parameters set by the Access Point use to select data from the SMP SignedServiceMetadata XML:

AS4 Processing Mode ParameterCorresponding Structure in SMP XMLNote

In four corner exchanges:

PMode[].BusinessInfo.Properties[finalRecipient]

(N.B. the PMode only specifies the use of the attribute, not its value.)

In point-to-point exchanges:

PMode.Responder.Party (For One Way exchanges and for the first leg of a Two Way Exchange)

PMode.Initiator.Party (For the second leg of a Two Way Exchange)

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ ParticipantIdentifier

To indicate use of the Four Corner Topology Enhancement, the AS4 P-Mode MUST mandate the use of the finalRecipient message property. The actual value for the parameter is not specified in the P-Mode, it is supplied dynamically to the MSH by the Producer in the Submit operation.

In point-to-point exchanges, the dynamically supplied party identifier is the AS4 MSH Receiver identifier.


In four corner exchanges:

PMode[].BusinessInfo.Properties[finalRecipient] @type

In point-to-point exchanges:

PMode.Responder.Party @type (For One Way exchanges and for the first leg of a Two Way Exchange)

PMode.Initiator.Party @type (For the second leg of a Two Way Exchange)

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ ParticipantIdentifier/ @scheme

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ Processlist/ Process/ ServiceEndpointList/ Endpoint [@transportProfile='bdxr-transport-ebms3-as4-v1p0']

The SMP MAY contain bindings to other messaging protocol profiles than eDelivery AS4.

To select only the eDelivery AS4 binding, searches are restricted to Endpoints using the specified bdxr-transport-ebms3-as4-v1p0 attribute value.

PMode[].BusinessInfo.Service

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/Processlist/ Process/ ProcessIdentifier


PMode[].BusinessInfo.Service @typeSignedServiceMetadata/ ServiceMetadata/ ServiceInformation/Processlist/ Process/ ProcessIdentifier/ @scheme
PMode[].BusinessInfo.Action

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ DocumentIdentifier

If on DocumentIdentifier a scheme attribute is present with value bdx-docid-qns, the value of PMode[].BusinessInfo.Action is created by prefixing the string bdx-docid-qns:: to the value of the DocumentIdentifier element.

From a matching structure in the response SMP XML document, the following AS4 P-Mode parameters can be obtained for use by the Sending AS4 MSH:

AS4 Processing Mode ParameterCorresponding Structure in SMP XMLNotes

In four corner exchanges only:

PMode.Responder.Party (For One Way exchange and for the first leg of a Two Way Exchange)

PMode.Initiator.Party (For the second leg of a Two Way Exchange)


In four corner exchanges only:

SignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ Processlist/ Process/ ServiceEndpointList/ Endpoint/ Certificate

In four corner exchanges, the Party Identifier of the C3 corner has to be determined, as the C2 Access Point only has been provided with information on the final recipient party C4. The value of the SMP XML structure is a Base64 encoded Access Point Certificate. The Party Identifier is to be obtained from subject information (CN field) in the Certificate.

(In point-to-point exchanges, the Receiver Party Identifier is known and matches the SMP ParticipantIdentifier. It is provided by the Producer in submission).

In four corner exchanges only:

Fixed URI value for:

PMode.Responder.Party @type (For One Way exchange and for the first leg of a Two Way Exchange)

PMode.Initiator.Party @type(For the second leg of a Two Way Exchange)



An X.509 certificate does not provide a separate Party identifier type attribute.

As in AS4 the type attribute is required if the identifier is not a URI (see section 5.2.2.4 of [EBMS3]), a fixed valued type attribute MUST be added in AS4.

Unless otherwise specified for specific domain profiles, the urn:oasis:names:tc:ebcore:partyid-type:unregistered value SHOULD be used.


PMode[].Protocol.AddressSignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ Processlist/ Process/ ServiceEndpointList/ Endpoint/ EndpointURI
PMode[]. Security. X509. Encryption. CertificateSignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ Processlist/ Process/ ServiceEndpointList/ Endpoint/ Certificate

OASIS SMP [SMP-v1.0] supports configuring exactly one certificate. While the specification defines it as the "signing certificate", it is also used for encryption. The KeyUsage of the certificate MUST therefore allow use as an encryption certificate (keyEncipherment).

PMode[][s]. Security. X509. Signature. CertificateSignedServiceMetadata/ ServiceMetadata/ ServiceInformation/ Processlist/ Process/ ServiceEndpointList/ Endpoint/ Certificate

OASIS SMP [SMP-v1.0] only supports one certificate to be specified. It is defined as the "signing certificate", and therefore can be used by the Receiving MSH, with eDelivery AS4, to sign any synchronous receipts or errors. The KeyUsage of the certificate MUST allow use as a signing certificate (digitalSignature).

Note that the SMP data model does not contain counterparts to the ebMS3 PMode.Initiator.Role and PMode.Responder.Role elements. Any profiling of these parameters is out of scope for this document.

3.3. Use with eDelivery ebCore Party Identifiers

When using SMP in conjunction with the OASIS ebCore Party Id Type specification [PARTYIDTYPE] as profiled in [eDelivery EBCOREP], and using the ebCore party identifier syntax described in section 2.7 of the OASIS ebCore Party Id Type specification, the party identifier type and the identifier value MUST be separated using a single ":" colon character. The optional scheme attribute MUST NOT be present. The following XML fragment shows an occurrence of the ParticipantIdentifier element using an ebCore Party Identifier.

Participant Identifier
<ParticipantIdentifier>urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088:4035811991021</ParticipantIdentifier>

Since there is no {identifier scheme} separate from this participant identifier, the corresponding URI path fragments in the SMP REST binding (see section 3.4.1 of [SMP-v1.0]) MUST include neither an {identifier scheme} nor the :: separator. For this situation, the two columns in the table in Figure 2, section 3.4.1, MUST be replaced with the following:

ResourceURI
ServiceGroup/{id}
SignedServiceMetadata/{id}/services/ {docType}

For discussion, also see https://issues.oasis-open.org/browse/BDXR-21. Example URIs for ebCore Party Identifiers are included in section 3.4.

3.4. Use with eDelivery BDXL

The OASIS SMP Specification specifies a REST interface to retrieve SMP content. The second column of the table in section 3.4.1 of [SMP-v1.0] defines URL path templates to request ServiceGroup and SignedServiceMetadata resources using HTTP GET requests. When using this specification in conjunction with the eDelivery BDXL profile [eDelivery BDXL], the requesting SMP client MUST append the URI path values defined in the SMP Specification to the URI retrieved from the BDX Location U-NAPTR record.

The following non-normative example shows two URLs, the first of which requests the ServiceGroup of a party with ebCore Party Identifier urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088:4035811991021 and the second of which requests the SignedServiceMetadata for the UBL 2.0 Invoice for that same party. The https://www.anotherexample.com/smp/prod prefix is assumed to have been obtained using a BDXL query as described in [eDelivery BDXL].


Sample URIs
https://www.anotherexample.com/smp/prod/urn%3Aoasis%3Anames%3Atc%3Aebcore%3Apartyid-type%3Aiso6523%3A0088%3A4035811991021

https://www.anotherexample.com/smp/prod/urn%3Aoasis%3Anames%3Atc%3Aebcore%3Apartyid-type%3Aiso6523%3A0088%3A4035811991021/services/bdx-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-2%3A%3AInvoice%23%23UBL-2.0a

4. Conformance

An implementation conforms to this version of the eDelivery SMP Profile if it:

  • Is a conformant OASIS SMP 1.0 implementation, where conformance is defined in section 4 of [SMP-v1.0], as clarified in section 3.4 of this specification.
  • Conforms to all normative statements in section 3 of this specification.

5. Ownership

OpenPEPPOL uses an earlier version of SMP [PEPPOL-SMP] for resolving which PEPPOL BIS/CEN BII profiles to use. The SMP is also being used for Change- and Release management of communication protocols. The PEPPOL version of SMP [PEPPOL-SMP] was generalized and standardized by OASIS [SMP-v1.0].

The SMP technical specification [SMP-v1.0] is Copyright © OASIS Open 2017. All Rights Reserved.

The SMP technical specification [SMP-v1.0] is created by by the OASIS BDXR Technical Committee which operates under the Non-Assertion Mode of the OASIS IPR Policy. OASIS is not aware of any statements or declarations regarding IPR related to the work of this technical committee.

Part of this specification is an evolution of work done in the EU e-CODEX project [ECODEXD5.11], which specifies the use of ebMS3/AS4 with the BDX Metadata Service Location and SMP specifications for dynamic discovery. E-CODEX can be contacted as follows:

Ministry of Justice NRW, Martin-Luther-Platz 40 - 40212 Düsseldorf (GERMANY).

All other content of this specification was created in the former EU e-SENS project. The e-SENS project completed in March 2017. The EU e-SENS project formally transferred ownership of its specifications to the European Commission, which accepted it for further maintenance in the context of the CEF Programme. Information on governance and procedures for eDelivery is available from Governance and Procedures.

6. References

[AS4] AS4 Profile of ebMS 3.0 Version 1.0. OASIS Standard, 23 January 2013. http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/AS4-profile/v1.0/ 

[BDX-Location-v1.0] Business Document Metadata Service Location Version 1.0. OASIS Standard, 01 August 2017. http://docs.oasis-open.org/bdxr/BDX-Location/v1.0/  

[EBMS3] OASIS ebXML Messaging Services Version 3.0: Part 1, Core Features. OASIS Standard. 1 October 2007. http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/core/os/ 

[ECODEXD5.11] e-CODEX D5.11: Concept of Implementation. D5.11 Concept of Implementation v2

[eDelivery AS4] eDelivery AS4 Profile Specification. https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/eDelivery+AS4

[eDelivery BDXL]. eDelivery BDXL Profile Specification. https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/eDelivery+BDXL

[eDelivery EBCOREP] Delivery ebCore Party Id Type Profile Specification. https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/eDelivery+ebCore+Party+Id

[PARTYIDTYPE] OASIS ebCore Party ID Type Technical Specification. September 2010. http://docs.oasis-open.org/ebcore/PartyIdType/v1.0/PartyIdType-1.0.pdf

[PEPPOL-SMP] PEPPOL SMP Specification

[RFC2119] A. Ramos. Key words for use in RFCs to Indicate Requirement Levels. IETF RFC 2119. January 1998. http://www.ietf.org/rfc/rfc2119.txt

[SMP-v1.0] Service Metadata Publishing (SMP) Version 1.0. OASIS Standard, 01 August 2017. http://docs.oasis-open.org/bdxr/bdx-smp/v1.0/.

7. Contributors

The eDelivery team is in charge of the maintaining the current version of the specification.

Details about contributors of previous versions of this specification can be consulted on the e-SENS website.

8. History

Ver.

Date

Changes made

Modified By

1.9

 

Minor update as part of the migration of the specification to CEF Digital, not requiring external review.

Layout adapted to CEF Digital

Content copied from e-SENS architecture, with the following editorial changes and bibliographic updates:

  • Set the version number to 1.9
  • Switched from e-SENS specification metadata to the CEF eDelivery specification metadata: Publication Date, Obsoletes, Obsoleted by
  • Removed the Standardization and Sustainability Assessment section.
  • Updated the Contributor section, historical contribution information is left to the last referenced e-SENS project version.
  • Updated the Ownership section to include the handover of the ownership of content from the e-SENS project to CEF Digital.
  • Started with a clean history table (the e-SENS history is still available in the 1.8 version).
  • Updated the BDXL and SMP bibliographic references to reflect their current OASIS Standard status and to use their recommended citation formats.
  • Updated the reference for e-CODEX to the public D5.11.
  • Fixed broken link for PEPPOL SMP
  • Changed some references to e-SENS ABBs to references to the PR- specifications that implement them.
  • The content of the former "domain specific profiles" section is moved to other sections and the section is removed.
  • Implementation Guidelines is now a single section without subsections.
  • Renamed the section "Specifications" to "Base Specification".

Gianmarco Piva,
Pim van der Eijk

1.10
 

General:

  • Version number set to 1.10.
  • Terminology "gateway" → "Access Point".
  • Renamed BDEN_SMP to PEPPOL-SMP
  • Coverage extended to also include point-to-point exchanges. No longer hardwired to four-corner topology.
  • Removed the PEPPOL SML legacy reference, as there is no user requirement to use OASIS SMP with PEPPOL SML.

New Conformance section.

Updates to match the updated eDelivery AS4 - 1.13.

  • Removed content that is now covered by the Dynamic Receiver and Dynamic Sender Profile Enhancements in eDelivery AS4 - 1.13.
  • Rather than just explaining which values must correlate between AS4 P-Mode data model and SMP, also explain explicity which information is obtained from SMP.
  • Explain that the SMP certificate is used for both encryption and signing. SMP is only about receiving capabilities, but the signing use can be used to determine which certificate will be used to sign the synchronous AS4 receipts.

Updates after CEF team meeting 21.11.2017

  • Minor editorial.
  • Clarify that information required in the Submit operation has to be provided by the Producer.
  • BDXL profile reference updated to 1.6.


Updated after CEF team meeting 15.12.2017

  • Renamed to eDelivery SMP
  • Added explanation of RFC2119 keywords.
  • Added link to eDelivery governance.
  • Updated ebCore Party Id section and coverage of participant identifiers without scheme attribute.


Updated after CEF team meeting 25.12.2017

  • Changed status to eDelivery Community Draft


Updated on 7.5.2018

  • Added specification for mapping of DocumentIdentifier/@scheme with busdox-docid-qns scheme.

Updated on 30.5.2018

  • Status changed to eDelivery Specification
Pim van der Eijk

Details about previous versions of the specifications can be consulted on the e-SENS website.