Skip to content

Oxalis-AS4 RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@evenos evenos released this 10 Sep 01:07
· 287 commits to master since this release

This is an early release candidate of Oxalis with support for PEPPOL AS4 pMode.

AS4 messages is triggered by setting the transport profile identifier of one of your endpoints to "peppol-transport-as4-v2_0" in the SMP. No further configuration is needed beyond the standard Oxalis setup.
For general instructions on how to install and use Oxalis, please refer to oxalis installation guide.

Installation guide

We will be basing this installation guide on Oxalis 4.0.2. Specifically Oxalis Server (download) for inbound traffic and Oxalis Standalone (download) for outbound traffic. The same approach will work for all the other components of Oxalis 4.x

Changes to the configuration:

There ave been two versions of PEPPOL AS4 standard (the first basically died at the cutting room floor). Some early adopting SMPs (e.g. ELMA) currently only support registering version 1 of this specification. To be able to test this release (that only implements version 2) you will have to override the configuration. This configuration simply adds support for requests AS4 v1 transport profiles, but will use the version 2 implementation.

To achieve this, please add the following lines to your test configuration:

transport.as4_peppol_v1_to_v2_adapter = {
      profile: bdxr-transport-ebms3-as4-v1p0
      sender: oxalis-as4
      weight: 5000
}

Install Oxalis Inbound (Server)

Oxalis server comes out of the box with a folder for extensions (named "ext"). Extract the content of oxalis-as4-4.1.0-SNAPSHOT-dist.zip into this folder. No further configuration is needed.

Start Oxalis server in the normal way, either trough run.sh or run.bat.

The easiest way to see that the AS4 endpoint is up and running is to visit its endpoint address.
If we now visit localhost:8080/as4 we will be greeted with the message Hello AS4 world

Install Oxalis Outbound (Standalone)

Oxalis SimpleSender does not come with an extension folder. So we need to add the extension logic that where define in the run scripts our self.

We make a base folder named oxalis-standalone-as4 with two sub folders:

oxalis-standalone-as4/    <-- Base folder, we will run our commands from here
├── standalone/    <-- We will putt our regular Oxalis Standalone application here...
│   ├── oxalis-standalone.jar
│   ├── posibly-other.jar
│   └── ...
└── as4/    <-- ...and our AS4 extension here
    ├── oxalis-as4.jar
    ├── many-other.jar
    └── ...

To run our combined application all we need to do is to run the following command (This command assumes we are standing in our base folder):

java -classpath "standalone/*;as4/*" eu.sendregning.oxalis.Main [followd by the argument like -f c:\some-invoice.xml]

All this command does is to tell Java to load the content of both folders, then execute the logic in "eu.sendregning.oxalis.Main" (which is the starting point of the Standalone application).
By looking into the run scripts of Oxalis Server form our previous section we can see that this is in fact the same approach that is used there.

We can see from the start up log that the AS4 v2 transportation profile is loaded together with the v1 we added in our configuration previously.
[no.difi.oxalis.outbound.transmission.MessageSenderFactory] => bdxr-transport-ebms3-as4-v1p0
[no.difi.oxalis.outbound.transmission.MessageSenderFactory] => peppol-transport-as4-v2_0