Releases: OxalisCommunity/Oxalis-AS4
Oxalis-AS4 RC7
Oxalis-AS4 RC6
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
Added fix for issue #10
Oxalis-AS4 RC4
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
Switched to CEF role identifiers. Also upgraded to oxalis 4.0.3.
Oxalis-AS4 RC2
This version requires a truststore set in properties.
Example:
oxalis.truststore {
path = truststore.jks
password = password123
}
Oxalis-AS4 RC1
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