Skip to content

Releases: OxalisCommunity/Oxalis-AS4

Oxalis-AS4 RC7

26 Aug 12:26
Compare
Choose a tag to compare
Oxalis-AS4 RC7 Pre-release
Pre-release

See README for installation guidance.

Changes

  • Added noop header parser to facilitate CEF-connectivity testing. See the docs.
  • Updated the default AS4 weight to 9001 so that it will be prioritized before AS2 (by default)

Oxalis-AS4 RC6

18 Jul 17:15
Compare
Choose a tag to compare
Oxalis-AS4 RC6 Pre-release
Pre-release

This is a release candidate of Oxalis with support for PEPPOL AS4 pMode.
It supports Oxalis v4.0.4 and passes the CEF conformance test (excluding tests requiring multiple payloads).

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 is 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 supports 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 Inbound (Tomcat 8+)

We have added an example deployment XML file for tomcat 8+. Ensure that your file locations match with the paths in the XML.

<?xml version="1.0" encoding="UTF-8"?>
<!-- For a default Tomcat setup, name this file 'oxalis.xml' and place it in the following directory -->
<!-- $CATALINA_BASE/conf/Catalina/localhost/ -->
<!-- this will expose the as4 endpoint on http://localhoist:8080/oxalis/as4 -->


<!-- The Context element represents our application. -->
<!-- The 'docBase' attribute will define the main application to be run. -->
<!-- For more information see https://tomcat.apache.org/tomcat-8.5-doc/config/context.html -->
<Context docBase="C:\dev\GitHub\oxalis\target\distribution\jee\oxalis.war"  >
    
   <!-- Optionally define the OXALIS_HOME environment variable  -->
   <!--
   <Environment name="OXALIS_HOME" value="/path/to/oxalis/config/directory" type="java.lang.String" override="false" />
   -->

   <!-- Here we can add a list of additional resources to add to the application --> 
   <!-- For more information see https://tomcat.apache.org/tomcat-8.5-doc/config/resources.html -->
   <Resources className="org.apache.catalina.webresources.ExtractingRoot">
            
      <!-- Add the other dependencies of oxalis -->
      <!--
      <PreResources 
          base="/path/to/oxalis/dir" 
          className="org.apache.catalina.webresources.DirResourceSet"
          webAppMount="/WEB-INF/lib"
          readOnly="true" />
      --> 
      
      <!-- Add this resource after (this resourse wil override files found in 'Context') the one we defined in the context element -->
      <PostResources
        base="C:\GitHub-releases\Oxalis-AS4\oxalis-as4-4.1.0-SNAPSHOT-dist\" 
        className="org.apache.catalina.webresources.DirResourceSet"
        webAppMount="/WEB-INF/lib"
        />  
      
      <!-- The name 'PreResources' and 'PostResources' refers to whether the resources will be added before or after the resource we defined in the 'Context' element -->
      <!-- There is also 'JarResources' that will let us alter the content of the 'Context' resource itself -->
      <!-- the precedence only affects witch version to use in case multiple resources provide the same content (the latest element will win) -->
      
   </Resources>

</Context>

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

Oxalis-AS4 RC5

13 Mar 09:29
Compare
Choose a tag to compare
Oxalis-AS4 RC5 Pre-release
Pre-release

Added fix for issue #10

Oxalis-AS4 RC4

06 Feb 11:52
ad60be2
Compare
Choose a tag to compare
Oxalis-AS4 RC4 Pre-release
Pre-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 Inbound (Tomcat 8+)

We have added an example deployment XML file for tomcat 8+. Ensure that your file locations match with the paths in the XML.

<?xml version="1.0" encoding="UTF-8"?>
<!-- For a default Tomcat setup, name this file 'oxalis.xml' and place it in the following directory -->
<!-- $CATALINA_BASE/conf/Catalina/localhost/ -->
<!-- this will expose the as4 endpoint on http://localhoist:8080/oxalis/as4 -->


<!-- The Context element represents our application. -->
<!-- The 'docBase' attribute will define the main application to be run. -->
<!-- For more information see https://tomcat.apache.org/tomcat-8.5-doc/config/context.html -->
<Context docBase="C:\dev\GitHub\oxalis\target\distribution\jee\oxalis.war"  >
    
   <!-- Optionally define the OXALIS_HOME environment variable  -->
   <!--
   <Environment name="OXALIS_HOME" value="/path/to/oxalis/config/directory" type="java.lang.String" override="false" />
   -->

   <!-- Here we can add a list of additional resources to add to the application --> 
   <!-- For more information see https://tomcat.apache.org/tomcat-8.5-doc/config/resources.html -->
   <Resources className="org.apache.catalina.webresources.ExtractingRoot">
            
      <!-- Add the other dependencies of oxalis -->
      <!--
      <PreResources 
          base="/path/to/oxalis/dir" 
          className="org.apache.catalina.webresources.DirResourceSet"
          webAppMount="/WEB-INF/lib"
          readOnly="true" />
      --> 
      
      <!-- Add this resource after (this resourse wil override files found in 'Context') the one we defined in the context element -->
      <PostResources
        base="C:\GitHub-releases\Oxalis-AS4\oxalis-as4-4.1.0-SNAPSHOT-dist\" 
        className="org.apache.catalina.webresources.DirResourceSet"
        webAppMount="/WEB-INF/lib"
        />  
      
      <!-- The name 'PreResources' and 'PostResources' refers to whether the resources will be added before or after the resource we defined in the 'Context' element -->
      <!-- There is also 'JarResources' that will let us alter the content of the 'Context' resource it self -->
      <!-- the precedence only affects witch version to use in case multiple resources provide the same content (the latest element will win) -->
      
   </Resources>

</Context>

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

Oxalis-AS4 RC3

27 Nov 12:01
Compare
Choose a tag to compare
Oxalis-AS4 RC3 Pre-release
Pre-release

Switched to CEF role identifiers. Also upgraded to oxalis 4.0.3.

Oxalis-AS4 RC2

24 Oct 07:31
Compare
Choose a tag to compare
Oxalis-AS4 RC2 Pre-release
Pre-release

This version requires a truststore set in properties.
Example:

oxalis.truststore {
    path = truststore.jks
    password = password123
}

Oxalis-AS4 RC1

10 Sep 01:07
Compare
Choose a tag to compare
Oxalis-AS4 RC1 Pre-release
Pre-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