1.1 In Process
In process mode means that the portal and the runtime will run in the same process. This means that when you start the “Eu.EDelivery.AS4.ServiceHandler.ConsoleHost.exe” then also the portal will be available.
This configuration is managed in the “settings.xml” file with the following option:
Setting the “FeInProcess” value to true means that the “in process” mode is enabled.
Note: Running the portal “in process” is not the recommended way of running in production! Please see “Run in IIS” for a production setup.
1.2 Dedicated process
It’s also possible to run the portal in its own process, this can be achieved by setting the “FeInProcess” to false in the “settings.xml” file.
Now when you start the “…consolehost.exe”, the portal won’t be started.
From now on you will have to start the portal using “EU.EDelivery.AS4.Fe.exe”.
Note: Running the portal in its own dedicated process is not the recommended way of running in production! Please see “Run in IIS” for a production setup.
1.3 Run in IIS
Note: Running the portal using IIS is the recommended way for production!
- Install the latest ASP.NET Core Module, https://github.com/aspnet/AspNetCoreModule, download & install the Windows Hosting package. After that restart IIS.
- To verify if the module has been installed successfully, open “Internet Information (IIS) Manager” and view the modules and make the following module is listed.
Open IIS Modules View
- To verify if the module has been installed successfully, open “Internet Information (IIS) Manager” and view the modules and make the following module is listed.
- “Add Website” in IIS manager
Enter details for the new website, “Physical path” should point to the root of the extracted AS4 zip package.
In the root of the AS4 folder create a file “web.config” with the following contents:
Note: If the API doesn’t start, then you can enable the logging output by setting the stdoutLogEnabled option to true. After that all logging will be available in the logs folder.
- Next step is to allow the application pool user write access the following folders, this can be done by right clicking on the folders and going to “security” tab and giving the “IUSER_USRS”
Folders to give write access: - Verify that the installation is working by navigating to the configured URL, a setup dialog should appear:
1.4 Enable Microsoft Sql Server
1.1.1 Authentication database
- Open appsettings.json
- Change the “Provider” & “ConnectionString” properties to “sqlserver” & the ConnectionString matching your sql server setup.
1.1.2 AS4 Runtime messages database
- Open appsettings.json
- Change the “Provider” & “ConnectionString” properties to “sqlserver” & the ConnectionString matching your sql server setup.
1.5 Appsettings.json
In the AS4 package there are 2 configuration files available for the portal. “appsettings.json” & “appsettings.inprocess.json”. All settings in the “appsettings.inprocess.json” are used when running the portal “in process” and settings from “appsettings.json” are used when running in a dedicated process or with IIS.
Setting name | Description |
---|---|
Port | This defines the IP address & port on which the portal should be listening. For ex if you set this to http://127.0.0.1:9000, then the portal will be reachable using a browser at http://127.0.0.1:9000. |
Logging | This block is used to configure the internal .NET logging. Since these are settings not specific to the AS4 portal we refer to the Microsoft documentation for this https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging#log-filtering |
Settings | This section contains settings used for the portal. |
| If true, then a stack trace will be shown in the error dialog when something went something unexpected wrong. This is will contain the server exception! |
| This option indicates where the settings.xml used by the runtime is located. |
| The location where all the runtime files are located (DLL’s / exe). |
Authentication | Section for configure the authentication of the portal |
| The database provider used for authentication. |
| The connection string to the authentication database. |
| A string indicating who issued the JWT token. This can be any string. |
| A string indicating for which services this JWT token is. This can also be any string. |
| The amount of days that the JWT token is valid. |
| The secret key used to sign the JWT token. |
Monitor | Section containing settings for the monitor module. |
| The database provider used to access the runtime database. |
| The connection string for the runtime database. Default is “FileName=users.sqlite”, when setting the provider to ‘mssql’ then a mssql connectionstring is expected here. |
Pmodes | All configuration settings to find PModes. |
| The folder containing all the sending PModes. This can also be a UNC path. Default is “./config/send-pmodes”. |
| The folder containing all the receiving PModes. This can also be a UNC path.; Default is “./config/receive-pmodes”. |
SubmitTool | This section contains all the settings used in the test message tool. |
| The MSH endpoint to send messages to. |
| The HTTP endpoint of a payload service to send payloads to. |