version | 1.0 |
---|---|
published | |
comment | This page is still the subject of additional validation cycles. Readers are welcome to send questions and/or provide comments by email to mercurius@bosa.fgov.be |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:v1="http://fsb.belgium.be/einvoicing/simpleprior/v1_00"> <soapenv:Header> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp wsu:Id="Timestamp-HvumButHp993jGDym7t89Q22" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2018-10-03T10:07:55Z</wsu:Created> <wsu:Expires>2018-10-03T10:12:55Z</wsu:Expires> </wsu:Timestamp> <!—More elements on security and signature:--> </wsse:Security> </soapenv:Header> <soapenv:Body> <v1:submitDocumentResponse> <!—When successful ackIndicator is true--> <v1:ackIndicator>true</v1:ackIndicator> <!—When an exception occurred ackIndicator is false--> <v1:ackIndicator>false</v1:ackIndicator> --> </v1:submitDocumentResponse> </soapenv:Body> </soapenv:Envelope> |
SOAP
...
Hereunder you can find a list with all the SOAP fault triggered by the simpl.ePrior backend. This lists can be longer based on the integrator layer.
...
with attachments
In order to keep the size of xml documents small enough for middleware processing, Simpl.ePrior is using SOAP with attachments when exchanging UBL documents.
It is required to remove any embedded attachment present in the UBL tag <EmbeddedDocumentBinaryObject> and to move it to a content part of the SOAP with attachments. The 'Content-ID' of the mime part must correspond to the value of the <ID> element of the parent of the <EmbeddedDocumentBinaryObject> element. Note that this might make the UBL document invalid regarding the specific schematron validation. This must accepted, however, the document must be valid if the base64 are re-inserted in the UBL.
------=_Part_20_1065051393.1568991070704
Content-Type: text/xml; charset=UTF-8
Content-ID: <rootpart@babelway.net>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<v1:retrieveDocumentResponse xmlns:v1="http://fsb.belgium.be/einvoicing/simpleprior/v1_00">
<receivedDate xmlns="http://fsb.belgium.be/einvoicing/simpleprior/v1_00">2019-09-20</receivedDate>
<document xmlns="http://fsb.belgium.be/einvoicing/simpleprior/v1_00">
<inv:Invoice xmlns:inv="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
...
<cac:AdditionalDocumentReference>
<cbc:ID>file1</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject filename="file1.txt" mimeCode="application/octet-stream"/>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>file2</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject filename="file2.log" mimeCode="application/octet-stream"/>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>file3</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject filename="file3.txt" mimeCode="application/octet-stream"/>
</cac:Attachment>
</cac:AdditionalDocumentReference>
...
</inv:Invoice>
</document>
</v1:retrieveDocumentResponse>
</soap:Body>
</soap:Envelope>
------=_Part_20_1065051393.1568991070704
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <file1>
Content-Disposition: attachment; filename=file1.txt
file1
------=_Part_20_1065051393.1568991070704
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <file2>
Content-Disposition: attachment; filename=file2.log
file2
------=_Part_20_1065051393.1568991070704
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <file3>
Content-Disposition: attachment; filename=file3.txt
file3
------=_Part_20_1065051393.1568991070704—
SOAP Fault
Simpl.ePrior uses standard SOAP fault, without defining substructures.
The Fault code [soap:Client Or soap:Server] is defining where is the probable system responsible for the error.
The fault string is the normalized definition of the error code. Hereunder you can find a list of all SOAP fault triggered by the simpl.ePrior backend.
Please note that this list can be augmented with the error thrown by the FSB or the integrator layer.
Error | Fault code Fault string | Description |
---|---|---|
UnauthorizedAccess | soap:Client Unauthorized Access | This error is returned when any security issues is encountered. This includes authentication, signature validation, authorization to a receiver or a sender… |
InvalidRequest | soap:Client Invalid request | The document included in the message is not parsable or doesn’t contains information. |
InvalidCustomizationId | soap:Client CustomizationId not supported | The document included in the message has an unsupported <CustomizationID> and <ProfileID>. |
InvalidDocumentValidationFailed | soap:Client Validation failed | The document included in the message has validation errors. |
UnsupportedIncomingMessage | soap:Client Unsupported incoming message | The type of the document included in the message is not configured in the list of accepted documents in the Mercurius gateway configuration. |
InvalidAttachments | soap:Client Invalid attachments | The attachment defined in the document and in the SOAP with attachments do not match. More specifically:
|
ServerError | soap:Server Server Error | Any other error. |
Endpoint URL
The endpoint URLs are defined by the integrator. Once you start your on-boarding process those 'll be communicated by the integration team plus the necessary security/authorisation artefacts authorization artifacts ( certificate, credentials, ... ).
...
the following 2 table summarize the key information about the supported document formats.
Format specifications
Document format | UBL DocumentTypeCode | syntax (XSD) | semantic | status, remarks |
---|---|---|---|---|
BIS V2 Invoice | 380 |
| ||
BIS V2 Credit Note | 81 |
| ||
BIS V3 invoice/CN | cf http://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1001-inv/ | http://docs.peppol.eu/poacc/billing/3.0/ |
| |
BIS V3 Credit Note | ||||
BIS V2 Message Level Response (MLR) | 301 |
| ||
BISV2 Order | //// | UBL-Order-2.1.xsd | PEPPOL BIS 28A Ordering | outbound support |
Order Response | 231 | Not supported, no intake programmed yet | ||
Invoice Response | 23 | intake programmed, but not yet started |
...
Mercurius | Mail-room from the Belgian Public sector, for e-Procurement related structured electronic documents |
---|---|
PEPPOL | Pan-European Public Procurement Online, PEPPOL enables businesses across Europe and beyond to communicate electronically with public buyers in various stages of the procurement process |
OpenPEPPOL | OpenPEPPOL is a non-profit international association under Belgian law (Association Internationale Sans But Lucratif – AISBL) and consists of both public sector and private members. The association has assumed full responsibility for the development and maintenance of the PEPPOL specifications, building blocks and its services and implementation across Europe. |
Integrators | Integrator allow service consumers to access the Simpl.ePRIOR service exposed by the Mercurius platform. The service on the Mercurius platform is only accessible to integrators : Federal ( FSB ) or regional ( Magda, ... ) |
Portal | Also known as the Mercurius portal, it allows customers and suppliers to monitor (track and trace) the documents received and sent. It provides business information (sender, receiver, business status, date, ...) and access to technical information (messages exchanged, technical status, ...) |
FAS | Federal Authentication Service authenticates authorises users to access the platform |
Supplier | A supplier is an enterprise that contributes goods or services. Generally, a supply chain vendor manufactures inventory/stock items and sells them to the next link in the chain. Today, these terms refer to a supplier of any good or service. See https://en.wikipedia.org/wiki/Supplier The Peppol definition is the following : The supplier is the legal person or organization who provides a product and/or service. |
Customer | In sales, commerce and economics, a customer (sometimes known as a client, buyer, or purchaser) is the recipient of a good, service, product or an idea - obtained from a seller, vendor, or supplier via a financial transaction or exchange for money or some other valuable consideration. See https://en.wikipedia.org/wiki/Customer The Peppol definition is the following : The customer is the legal person or organization who is in demand of a product and/or service. |
References
Sample Code
This example is provided without any guarantee or support. It's only to help you and show you how to generate code based on the WSDL definition.
...
Description | Link |
---|---|
wsdl of the backend service (for info) | |
peppol.eu page about the Belgian PEPPOL authority (PA) | http://peppol.eu/what-is-peppol/peppol-country-profiles/belgium-country-profile/?rel=tab664 |
official webpage of the Belgian PEPPOL authority | https://openpeppol.atlassian.net/wiki/spaces/Belgium |
Mercurius platform, portal-site homepage | |
list of PEPPOL receivers registered in smp.belgium.be | |
simpl.ePRIOR relevant documentation on FSB (access, proxy-service) | |
sources of diagrams shown on the page | |
list of authorized identification schemes for party identifiers (enpointID) | cf page: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/Code+lists, select Electronic Address Scheme code list (EAS) |