Can different Domibus nodes run both 1.x and 2.0 specifications in parallel?

Yes. Each node can use eDelivery 1.x or 2.0. However, both parties in a transaction must agree on one specification for message exchange.

Can Domibus handle the transfer of large files?

Yes, Domibus is equipped to manage the transfer of large files. By default, it can handle file sizes up to 2 GB. For files exceeding this limit, Split & Join profile enhancement is available. This enhancement, which is an optional component of the eDelivery specification, enables the transportation of files larger than 2 GB by splitting them into smaller segments and reassembling them after transfer.

Can Domibus simultaneously support both 2-way SSL and 1-way SSL connections?

Yes, Domibus can accommodate both types of connections. A sender configured with client authentication (2-way SSL) can transmit messages via 1-way SSL to a receiver set up for 1-way SSL and also send messages via 2-way SSL to a receiver configured for 2-way SSL. Detailed setup instructions are available in the Administration Guide.

Can I have both PEPPOL and OASIS as auto-discovery parameter in domibus.properties?

No, you must choose one auto-discovery parameter in the domibus.properties. It is not possible to have both PEPPOL and OASIS supported simultaneously.

Can I store files in the File System instead of a DB?

Yes, it is possible to configure Domibus to save the message payloads on the file system instead of the database. This setting is recommended when exchanging payloads bigger than 30MB.

For more details please refer to the "Domibus Administration Guide".

Can you provide Oracle queries for tracking Domibus messages?

Here are Oracle SQL queries to track Domibus messages within a specific timeframe: 2 March 2021, from 15:20:12 to 16:28:12 CET:

  • Messages received by C2:
    SELECT count(*)
    FROM TB_MESSAGE_LOG
    WHERE MSH_ROLE = 'SENDING'
      AND RECEIVED BETWEEN '02/03/21 15:20:12,000000000' AND '02/03/21 16:28:12,000000000';

    Explanation: This query counts the number of messages where C2 acted as the sender within the specified time period.

  • Messages sent by C2 (and acknowledged):

    SELECT count(*)
    FROM TB_MESSAGE_LOG
    WHERE MSH_ROLE = 'SENDING'
      AND RECEIVED BETWEEN '02/03/21 15:20:12,000000000' AND '02/03/21 16:28:12,000000000'
      AND MESSAGE_STATUS ='ACKNOWLEDGED';

    Explanation: This query counts the number of messages that were sent by C2 within the given timeframe and acknowledged by the receiver.


  • Messages received by C3:
    SELECT count(*)
    FROM TB_MESSAGE_LOG
    WHERE MSH_ROLE = 'RECEIVING'
      AND RECEIVED BETWEEN '02/03/21 15:20:12,000000000' AND '02/03/21 16:28:12,000000000'
      AND MESSAGE_STATUS ='RECEIVED';

    Explanation: This query counts the number of messages where C3 acted as the receiver and successfully received the messages within the specified time period.


Important note: Adjust MESSAGE_STATUS (for example, to DOWNLOADED or DELETED) in the queries to match the retention policy defined in your PMode.

Does Domibus support "self-sending"?

Domibus supports the "self-sending" feature (when two backend applications connected to the same Domibus Access point exchange messages between them) starting from Domibus 5.0 versions.

Note that we discourage users from enabling it in production environments in versions previous to Domibus 5.1.

Some configuration steps are required to use it:

Does Domibus support the new eDelivery 2.0 cryptography?

Domibus will introduce eDelivery AS 2.0 cryptography in upcoming releases. Check Domibus releases for compatibility and upgrade timelines.

Do I need to restart the server after uploading a new PMode?

Restarting the server is not required after uploading the Pmode.

How can I attach a file to a message using Soap UI?

In order to attach a file to a message, use the following steps:

  1. Import into Soap UI the following downloaded project file: <CEF_eDelivery_path>/domibus-MSH-X.Y.Z-sample-configuration-and-testing.zip\test\soapui\AS4-test-guide-soapui-project.xml.
  2. Open Web Service Submission,  Business Scenario, Test Steps, sendMessage

How can I authenticate the original sender (C1) and final recipient (C4) when using the WS plugin in Domibus?

To authenticate C1 and C4 in Domibus using the WS plugin, follow these steps:

  1. Create unique plugin users (for example, "puser1" and "puser2") for each original sender and final recipient. Assign a distinct originalSender and finalRecipient value to each user in the <ns:MessageProperties> section of your configuration.
  2. Ensure that the "Original User" associated with the plugin user matches the originalSender when sending a message and the finalRecipient when retrieving a message.
  3. When sending a message, C1 needs to include the originalSender and finalRecipient values within the <ns:MessageProperties> section of the message.

    Example
    <ns:MessageProperties>
    	<ns:Property name="originalSender">urn:oasis:names:tc:ebcore:partyid-type:unregistered:puser1</ns:Property>
    	<ns:Property name="finalRecipient">urn:oasis:names:tc:ebcore:partyid-type:unregistered:puser2</ns:Property>
    </ns:MessageProperties>
  4. Set domibus.auth.unsecureLoginAllowed=false in your domibus.properties file to enforce basic authentication.

  5. You can check the message receipts using the "ListPendingMessages" request in SoapUI to confirm successful authentication.

By following these steps, you can establish a secure authentication mechanism for the original sender and final recipient in your Domibus message exchanges.

How does Domibus communicate with the backend?

Domibus uses a Plugin architecture to communicate with the Backend. It is provided by default with three plugins: a WebService Plugin (WS), a Java Messaging Service plugin (JMS) and a File System plugin, which can be installed together or separately. Users can also develop their own Custom Plugin using the Cookbook and the Software Architecture Domain (SAD).

How do I configure Domibus certificates?

Place valid certificates in the Domibus truststore or keystore. Ensure each certificate matches your chosen cryptographic profile.

How do I troubleshoot Domibus errors?

Check Domibus log files for detailed error messages. Common issues include misconfigured certificates, wrong server settings or outdated plugin versions.

How many simultaneous connections can a domibus AP handle?

The performance of Domibus depends on a combination of factors: the underlying hardware (CPU, RAM, disk type), network performance, configuration settings and installation type (single node versus clustered setup).

As an example, during several test campaigns with their own specificities, it has been verified that Domibus 4.2.x can send +/- 50 messages per second in a single node setup and send/receive +/- 270 messages per second in a clustered setup.

Is PostgreSQL supported as a database for Domibus?

No, PostgreSQL is not currently supported as a database for Domibus. This has been discussed extensively in the Domibus community and the decision was made not to support it at this time.

For more information, see PostgreSQL and tickets EDELGOV-10 & EDELGOV-33.

Is there any documentation on how to set up a local development environment for Domibus?

There is no specific documentation for setting up a local development environment for Domibus. However, the general process is similar to setting up any other development environment. You can refer to the readme.txt file in the root of the project for instructions on how to build Domibus.

What Database backend is needed to run Domibus?

Domibus 5.1 version supports the following database backends:

  • MYSQL 8 (future versions might work)
  • Oracle 12c R2 and Oracle 19c

What does the error "Domibus Assertion Error: Please upgrade to 5.1. The last successful upgrade was to 5.0.4" mean when running the Domibus upgrade script?

See eDelivery knowledge base 📚

What is the location of the Domibus source code?

The Domibus source code is available on the "eDelivery git repository".

What to do if my Domibus user password expired?

To extend the password expiration date, you can use the following SQL command (for both MySQL and Oracle databases):

UPDATE TB_USER SET `PASSWORD_CHANGE_DATE` = DATE_ADD(`PASSWORD_CHANGE_DATE`, INTERVAL 3 MONTH);
COMMIT;

This example command extends the password expiration by three months. You can adjust the interval as needed.

To check the current expiration date of all user passwords, you can use the following SQL command:

SELECT PASSWORD_CHANGE_DATE, USER_NAME from TB_USER;

Where does Domibus store message payloads?

From version 4.0, Domibus saves attachments in the database, specifically in the tb_part_info table under the binary_data column. If you prefer to store attachments on the file system instead of the database, you need to add and configure the domibus.attachment.storage.location parameter.

Why can't I access the Domibus Admin Console?

See eDelivery knowledge base 📚

Why does the startup of Domibus on a Debian 11 system halt after "Configured brokerNames" and how can it be resolved?

The issue arises when setting up the pre-packaged Domibus on a Debian 11 system. During the startup of Tomcat as a Debian service, exceptions appear in the log, and the Domibus startup process does not complete. The last entry in the domibus.log file is:

[edelivery@localhost] [] [] [] [main] INFO e.d.j.a.DomibusJMSActiveMQConnectionManager:63 - Configured brokerNames

Debian configures Tomcat in a way that only files under /var/lib/tomcat9/webapps are visible to the process. This configuration conflicts with the settings in domibus/internal/activemq.xml.

To resolve this issue, update the ActiveMQ broker settings in activemq.xml as follows:

  1. Set the broker attributes:
    <broker useJmx="true" brokerName="${activeMQ.brokerName}" persistent="${activeMQ.persistent}" schedulerSupport="true" dataDirectory="/var/lib/tomcat9/webapps/work/activemq_data" tmpDataDirectory="/var/lib/tomcat9/webapps/temp">
  2. Configure the kahaDB directory:
    <kahaDB directory="/var/lib/tomcat9/webapps/work/kahadb" />

After making these changes, the service should start without issues.

Unable to render {include} The included page could not be found.
edel-soft